>         ks_cb.ksock_cb_connected =
 >             (ksocket_callback_t)idm_so_timed_socket_connect_cb;
 >         ks_cb.ksock_cb_connectfailed =
 >             (ksocket_callback_t)idm_so_timed_socket_connect_cb;
 >         ks_cb.ksock_cb_disconnected =
 >             (ksocket_callback_t)idm_so_timed_socket_connect_cb;

Why are these casts needed?  I'd expect idm_so_timed_socket_connect_cb
to be a ksocket_callback_t.

 >         /* Set to non-blocking mode */
 >         nonblocking = 1;
 >         (void)  ksocket_ioctl(ks, FIONBIO, (intptr_t)&nonblocking, &rval,
 >             CRED());

Seems worth checking the return value.

 >                 lbolt = ddi_get_lbolt();
 >                 if (lbolt > conn_login_max || final_pass) {

Gien that there's already a well-known kernel variable named `lbolt' this
seems a little unfortunate; why not just all ddi_get_lbolt() directly in
the `if' clause?

--
meem
_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to