nastaveni timeoutu pro connect()

Michael Mraka Michael.Mraka na GTSgroup.cz
Čtvrtek Duben 26 08:48:08 CEST 2001


Jirka Kosina wrote:
% Dobry den,
% 
% > > Existuje nejaky rozmny zpusob, jak nastavit, po jake dobe se ma
% > > connect() na pripojovani vykaslat?
% > Zkuste pouzit non-blocking socket. Vice viz Unix socket FAQ
% > (http://www.faqs.org/faqs/unix-faq/socket/index.html), otazka
% > "How can I set the timeout for the connect() system call?"

Jeste to jde udelat pres alarm()?
[nasledujici kod berte trochu s rezervou :-)]

...
static void abort_connect(int s) {
      close(sock);
}
...
oldalarm = signal(SIGALRM, abort_connect);
alarm(timeout);
if (connect(sock, (struct sockaddr *)&s, sizeof(s)) < 0) {
	not_connected();
}
alarm(0);
signal(SIGALRM, oldalarm);
...


--mm                                                            Michael Mráka



Další informace o konferenci Linux