心心程序博客

眼过千遍不如手过一遍! 书看千行不如手敲一行! 手敲千行不如单步一行! 单步源代码千行不如单步对应汇编一行!

导航

2012年4月11日

linux定时器

摘要: 今天看书看到了关于alarm的一些用法,自己有在网上找了些资料看了下;1。alarm()执行后,进程将继续执行,在后期(alarm以后)的执行过程中将会在seconds秒后收到信号SIGALRM并执行其处理函数。#include <stdio.h>#include <unistd.h>#include <signal.h>void sigalrm_fn(int sig){ printf("alarm!\n"); alarm(2); return;}int main(void){ signal(SIGALRM, sigalrm_fn); a 阅读全文

posted @ 2012-04-11 14:16 心心程序博客 阅读(28867) 评论(0) 推荐(2) 编辑

多线程同时写1个SOCKET时可能出现问题

摘要: 这里只描述同步Socket的send函数的执行流程。当调用该函数时,send先比较待发送数据的长度len和套接字s的发送缓冲的 长度,如果len大于s的发送缓冲区的长度,该函数返回SOCKET_ERROR;如果len小于或者等于s的发送缓冲区的长度,那么send先检查协议 是否正在发送s的发送缓冲中的数据,如果是就等待协议把数据发送完,如果协议还没有开始发送s的发送缓冲中的数据或者s的发送缓冲中没有数据,那么 send就比较s的发送缓冲区的剩余空间和len,如果len大于剩余空间大小send就一直等待协议把s的发送缓冲中的数据发送完,如果len小于剩余 空间大小send就仅仅把buf中的数据c 阅读全文

posted @ 2012-04-11 10:07 心心程序博客 阅读(7031) 评论(0) 推荐(0) 编辑