README.md
author Sunil Nimmagadda <sunil@nimmagadda.net>
Sun, 31 Aug 2014 16:18:35 +0500
changeset 37 e3dccf824f91
parent 19 3d14d6437543
permissions -rw-r--r--
Disengaging imsgev is tricky. First imsgev_clear as we know there isn't anything left to be written. Signal imsgev termination by setting iev->terminate = 1(Mind that we are setting it from with the callback). As imsgev would again callback dispatch with IMSGEV_DONE, we cannot free imsgev yet. So iev_maildrop need to exist beyond lifetime of session until IMSGEV_DONE. Allocating it seperately from session. imsgev_close is avoided as it schedules another EV_WRITE which is not needed in our case. This fixes a crash observed consistently with a little perl script to simulate concurrent sessions. Thanks MALLOC_OPTIONS='SFG<<'
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
f50606f97adf Create README.md
Sunil Nimmagadda <sunil@poolp.org>
parents:
diff changeset
     1
pop3d
f50606f97adf Create README.md
Sunil Nimmagadda <sunil@poolp.org>
parents:
diff changeset
     2
=====
f50606f97adf Create README.md
Sunil Nimmagadda <sunil@poolp.org>
parents:
diff changeset
     3
f50606f97adf Create README.md
Sunil Nimmagadda <sunil@poolp.org>
parents:
diff changeset
     4
POP3 Daemon with POP3S, STARTTLS extensions. Supports maildir, mbox formats.
19
3d14d6437543 Update README.md
Sunil Nimmagadda <sunil@poolp.org>
parents: 1
diff changeset
     5
Presently builds and runs only on OpenBSD.