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