Jabberd14-1.6.0/jabberd/mio.c/mio_stop

Last-modified: 2007-04-14 (土) 20:04:05

このページを編集する際は,編集に関する方針に従ってください.

概要

* Cleanup function when server is shutting down, closes
* all sockets, so that everything can be cleaned up
* properly.

実装

  • Jabberd-1.4.4のリリースからjabberd.ccでは呼出が削除されている。
  • グローバル変数mio__dataに保持してあるソケットをクローズする。
void mio_stop(void) {
    mio cur, mnext;
    log_debug2(ZONE, LOGT_CLEANUP, "MIO is shutting down");
    /* no need to do anything if mio__data hasn't been used yet */
    if (mio__data == NULL)
	 return;
    /* flag that it is okay to exit the loop */
    mio__data->shutdown = 1;
    /* loop each socket, and close it */
    for (cur = mio__data->master__list; cur != NULL;) {
	 mnext = cur->next;
	 _mio_close(cur);
	 cur = mnext;
    }
    /* signal the loop to end */
    pth_abort(mio__data->t);
    pool_free(mio__data->p);
    mio__data = NULL;
}

呼出元

#related: relatedプラグインは廃止されました。