Linux Ðźż¯ dzÎö
LinuxÐźÅÓжàÖÖ˵·¨¡£Ò»¸ö½ø³Ì´´½¨Ò»¸öÐźÅÓÃÓÚ·¢Ë͸øÁíÍâÒ»¸ö½ø³Ì½Ð×ö·¢ËÍÒ»¸öÐźţ¬Äں˴´½¨Ò»¸öÐźŽÐ×öÉú³ÉÒ»¸öÐźţ¬½ø³Ì×Ô¼ºÏò×Ô¼º·¢ËÍÐźŽÐ×ö»½ÆðÒ»¸öÐźš£²»¹ýÎÒ¿´Ò²Ã»±ØÒªÕâôѧ¾¿Æø¡£
Ðźż¯--signel set,Æäʵ¾ÍÊǽ«¶à¸öÐźŷÅÔÚ¼¯ºÏÖнøÐм¯ÖеĴ¦Àí¡£POSIX.1¶¨ÒåÁËsigset_tÒÔ°üºÒ»¸öÐźż¯£¬²¢ÇÒ¶¨ÒåÁËÎå¸ö´¦ÀíÐźŵĺ¯Êý£º
int sigemptyset(sigset_t *set);
int sigfillset(sigset_t *set);
int sigaddset(sigset_t *set,int signo);
int sigdelset(sigset_t *set,int signo)
int sigismember(const sigset_t *set,int signo);
»¹ÓÐÒ»¸öÖØÒªµÄº¯Êý£ºint sigprocmask(int how,const sigset_t *restrict set,sigset_t *restrict oset);
µ¥´¿½²ÕâЩº¯ÊýºÜÄѽ²Ã÷°×£¬ÏÂÃæ½áºÏ³ÌÐòÀ´½²£¬³ÌÐòÀ´×ÔUNIX»·¾³¸ß¼¶±à³Ì£º
static void sig_quit(int); //ÐźŴ¦Àíº¯Êý
int main( )
{
sigset_t newmask,oldmask,pendmask;
if(signal(SIGQUIT,sig_quit)==SIG_ERR)
err_sys("can not catch SIGQUIT");
-----------------------------------------------------------------------------------------------------------
sigemptyset(&newmask); //Çå¿ÕÐźÅÑÚÂ뼯newmask,²»×èÈûÈκÎÐźÅ
sigaddset(&newmask,SIGQUIT); //½«SIGQUITÐźŷÅÈëÐźż¯newmaskÖÐÈ¥
if(sigprocmask(SIG_BLOCK,&newmask,&oldmask)<0) //½«oldmask ºÍnewmaskºÏ²¢
err_sys("SIG_BLOCK error"); //µ±Ç°ÐÅºÅÆÁ±Î×Ö·ÅÔÚnewmaskÀÒÔǰµÄ·ÅÔÚoldmaskÀï
sleep(5);
if(sigpending(&pendmask)<0) //±£´æËùÓб»×èÈûµÄÐźţ¬±¾Àý¼´±£´æSIGQUITµ½pendmaskÖÐÈ¥
 
Ïà¹ØÎĵµ£º
1. HCI²ãÐÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI) ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈÐÒé ......
ÔÌû¼ûhttp://www.inthirties.com/thread-685-1-1.html
1¡¢Ê²Ã´ÂãÉ豸£¿×Ö·ûÉ豸£¿¿éÉ豸£¿
ÂãÉ豸£ºÒ²½ÐÂã·ÖÇø£¨Ôʼ·ÖÇø£©£¬ÊÇÒ»ÖÖûÓо¹ý¸ñʽ»¯£¬²»±»Unix/Linuxͨ¹ýÎļþϵͳÀ´¶ÁÈ¡µÄÌØÊâ×Ö·ûÉ豸¡£ÂãÉ豸¿ÉÒÔ°ó¶¨Ò»¸ö·ÖÇø£¬Ò²¿ÉÒÔ°ó¶¨Ò»¸ö´ÅÅÌ¡£
×Ö·ûÉ豸£º¶Ô×Ö·ûÉ豸µÄ¶Áд²»ÐèҪͨ¹ýOSµÄbuffer ......
1£®4 Ï̴߳´½¨µÄLinuxʵÏÖ
ÎÒÃÇÖªµÀ£¬LinuxµÄÏß³ÌʵÏÖÊÇÔÚºËÍâ½øÐеģ¬ºËÄÚÌṩµÄÊÇ´´½¨½ø³ÌµÄ½Ó¿Údo_fork()¡£ÄÚºËÌṩÁËÁ½¸öϵͳµ÷ÓÃ__clone()ºÍfork ()£¬×îÖÕ¶¼Óò»Í¬µÄ²ÎÊýµ÷ÓÃdo_fork()ºËÄÚAPI¡£µ±È»£¬ÒªÏëʵÏÖỊ̈߳¬Ã»ÓкËÐÄ¶Ô¶à½ø³Ì£¨ÆäʵÊÇÇáÁ¿¼¶½ø³Ì£©¹²ÏíÊý¾Ý¶ÎµÄÖ§³ÖÊDz»Ðеģ¬Òò´Ë£¬do_fork()ÌṩÁ˺ ......
1.¸ÅÄîºÍÇø±ð£º
¾²Ì¬¿â¾ÍÊÇÔÚ±àÒë¹ý³ÌÖÐһЩĿ±êÎļþµÄ¼¯ºÏ¡£¾²Ì¬¿âÔÚ³ÌÐòÁ´½ÓµÄʱºòʹÓã¬Á´½ÓÆ÷»á½«³ÌÐòÖÐʹÓõ½º¯ÊýµÄ´úÂë´Ó¿âÎļþÖп½±´µ½Ó¦ÓóÌÐòÖС£Ò»µ©Á´½ÓÍê³É£¬ÔÚÖ´ÐгÌÐòµÄʱºò¾Í²»ÐèÒª¾²Ì¬¿âÁË¡£
ÓÉÓÚÿ¸öʹÓþ²Ì¬¿âµÄÓ¦ÓóÌÐò¶¼ÐèÒª¿½±´ËùÓú¯ÊýµÄ´úÂë£¬Ë ......