2 * Copyright (c) 1999-2003, 2006 Sendmail, Inc. and its suppliers.
5 * By using this file, you agree to the terms and conditions set
6 * forth in the LICENSE file which can be found at the top level of
7 * the sendmail distribution.
12 SM_RCSID("@(#)$Id: handler.c,v 8.38 2006/11/02 02:38:22 ca Exp $")
14 #include "libmilter.h"
16 #if !_FFR_WORKERS_POOL
18 ** HANDLE_SESSION -- Handle a connected session in its own context
21 ** ctx -- context structure
24 ** MI_SUCCESS/MI_FAILURE
28 mi_handle_session(ctx
)
35 ctx
->ctx_id
= (sthread_t
) sthread_get_id();
38 ** Detach so resources are free when the thread returns.
39 ** If we ever "wait" for threads, this call must be removed.
42 if (pthread_detach(ctx
->ctx_id
) != 0)
46 if (ValidSocket(ctx
->ctx_sd
))
48 (void) closesocket(ctx
->ctx_sd
);
49 ctx
->ctx_sd
= INVALID_SOCKET
;
51 if (ctx
->ctx_reply
!= NULL
)
54 ctx
->ctx_reply
= NULL
;
56 if (ctx
->ctx_privdata
!= NULL
)
59 "%s: private data not NULL",
60 ctx
->ctx_smfi
->xxfi_name
);
62 mi_clr_macros(ctx
, 0);
67 #endif /* !_FFR_WORKERS_POOL */