If a "process" option with a thread set is used on the bind line, we use the
corresponding bitmask when the listener's FD is created.
fdtab[fd].owner = listener; /* reference the listener instead of a task */
fdtab[fd].iocb = listener->proto->accept;
- fd_insert(fd, MAX_THREADS_MASK);
+ if (listener->bind_conf->bind_thread[relative_pid-1])
+ fd_insert(fd, listener->bind_conf->bind_thread[relative_pid-1]);
+ else
+ fd_insert(fd, MAX_THREADS_MASK);
tcp_return:
if (msg && errlen) {
/* the function for the accept() event */
fdtab[fd].iocb = listener->proto->accept;
fdtab[fd].owner = listener; /* reference the listener instead of a task */
- fd_insert(fd, MAX_THREADS_MASK);
+ if (listener->bind_conf->bind_thread[relative_pid-1])
+ fd_insert(fd, listener->bind_conf->bind_thread[relative_pid-1]);
+ else
+ fd_insert(fd, MAX_THREADS_MASK);
return err;
err_rename: