Mercurial > pidgin.yaz
comparison libpurple/network.c @ 20347:04fe5601fedb
applied changes from 2762c6075c0dc52a96098c5478c5bf68cfd890a3
through 8548e491a5b470d5665cb1cf87a7b0caaa3c87a5
author | Luke Schierer <lschiere@pidgin.im> |
---|---|
date | Sun, 21 Oct 2007 04:46:33 +0000 |
parents | 6b8bc3309ab7 |
children | 96929e7acb86 35b4f1dc4c8d |
comparison
equal
deleted
inserted
replaced
20346:07c2e60026da | 20347:04fe5601fedb |
---|---|
261 | 261 |
262 static PurpleNetworkListenData * | 262 static PurpleNetworkListenData * |
263 purple_network_do_listen(unsigned short port, int socket_type, PurpleNetworkListenCallback cb, gpointer cb_data) | 263 purple_network_do_listen(unsigned short port, int socket_type, PurpleNetworkListenCallback cb, gpointer cb_data) |
264 { | 264 { |
265 int listenfd = -1; | 265 int listenfd = -1; |
266 int flags; | |
266 const int on = 1; | 267 const int on = 1; |
267 PurpleNetworkListenData *listen_data; | 268 PurpleNetworkListenData *listen_data; |
268 unsigned short actual_port; | 269 unsigned short actual_port; |
269 #ifdef HAVE_GETADDRINFO | 270 #ifdef HAVE_GETADDRINFO |
270 int errnum; | 271 int errnum; |
338 if (socket_type == SOCK_STREAM && listen(listenfd, 4) != 0) { | 339 if (socket_type == SOCK_STREAM && listen(listenfd, 4) != 0) { |
339 purple_debug_warning("network", "listen: %s\n", strerror(errno)); | 340 purple_debug_warning("network", "listen: %s\n", strerror(errno)); |
340 close(listenfd); | 341 close(listenfd); |
341 return NULL; | 342 return NULL; |
342 } | 343 } |
343 fcntl(listenfd, F_SETFL, O_NONBLOCK); | 344 flags = fcntl(listenfd, F_GETFL); |
345 fcntl(listenfd, F_SETFL, flags | O_NONBLOCK); | |
344 | 346 |
345 actual_port = purple_network_get_port_from_fd(listenfd); | 347 actual_port = purple_network_get_port_from_fd(listenfd); |
346 | 348 |
347 purple_debug_info("network", "Listening on port: %hu\n", actual_port); | 349 purple_debug_info("network", "Listening on port: %hu\n", actual_port); |
348 | 350 |