История изменений
Исправление sigurd, (текущая версия) :
через alarm() и обработку sig_alarm. Примерно так:
int flag;
void sig_alarm( int ) {
flag = 0;
}
int fileTransferRecv(int sock) {
flag = 1;
signal( SIGALRM, sig_alarm );
alarm( 1 );
while( flag )
{
...
fwrite();
alarm( 1 );
}
alarm( 0 );
}
Исправление sigurd, :
через alarm() и обработку sig_alarm. Примерно так:
int flag;
void sig_alarm( int ) {
flag = 0;
}
int fileTransferRecv(int sock) {
flag = 1;
signal( SIGALRM, sig_alarm );
alarm( 1 );
while( flag )
{
...
fwrite();
alarm( 1 );
}
alarm( 0 );
}
В обработчике sig_alarm() сбросить flag
Исходная версия sigurd, :
через alarm() и обработку sig_alarm. Примерно так:
int flag;
void sig_alarm( int ) {
flag = 0;
}
int fileTransferRecv(int sock) {
flag = 1;
signal( SIGALRM, sig_alarm );
alarm( 1 );
while( flag )
{
...
fwrite();
alarm( 1 );
}
}
В обработчике sig_alarm() сбросить flag