Sunil Nimmagadda <sunil@nimmagadda.net> [Fri, 05 Sep 2014 10:24:20 +0500] rev 41
The sockaddr_storage returned by accept(2) belongs to session and
not the listener. Move it to a place where it belongs: struct
session.
Sunil Nimmagadda <sunil@nimmagadda.net> [Fri, 05 Sep 2014 08:13:18 +0500] rev 40
Stop leaking sock descriptors in error path.
Sunil Nimmagadda <sunil@nimmagadda.net> [Thu, 04 Sep 2014 20:28:47 +0500] rev 39
Whitespace.
Sunil Nimmagadda <sunil@nimmagadda.net> [Sun, 31 Aug 2014 16:35:51 +0500] rev 38
Merge refactor branch.
Sunil Nimmagadda <sunil@nimmagadda.net> [Sun, 31 Aug 2014 16:18:35 +0500] rev 37
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<<'
Sunil Nimmagadda <sunil@nimmagadda.net> [Thu, 28 Aug 2014 15:46:44 +0500] rev 36
Shorten.
Sunil Nimmagadda <sunil@nimmagadda.net> [Thu, 28 Aug 2014 14:17:28 +0500] rev 35
space nit.
Sunil Nimmagadda <sunil@nimmagadda.net> [Wed, 27 Aug 2014 16:21:31 +0500] rev 34
No use of iev->data, set it to NULL.
Sunil Nimmagadda <sunil@nimmagadda.net> [Wed, 27 Aug 2014 14:25:26 +0500] rev 33
Give session a chance to init its imsgev. Let session initiate the
process of MAILDROP_INIT. Maildrop now sets up itself and waits for
MAILDROP_INIT from session.
This would now eliminate the doubt in the earlier setup when priv
process forks and the child gets cpu slice first before parent which
sends MAILDROP_INIT to an uninitialized imsgev.
Sunil Nimmagadda <sunil@nimmagadda.net> [Wed, 27 Aug 2014 12:47:09 +0500] rev 32
mtype, mpath are accessible to maildrop, simplify setup parameters.