最近准备开始写blog了,毕竟学习的成果需要记录下来才好。

一开始选择了CSDN,但发现在lnux下写blog的工具条不见了,更别提插入代码,都需要手工去编辑HTML,问客服没有结果。算了,那就换地方吧,遂选择了51CTO,在网上查好像51CTO没有博客被封的情况,且打开速度比CSDN要快的多!虽然51CTO的工具栏没有CSDN强大,但它至少可以在linux下使用,可以插入代码。

本文就当作是一个纪念和测试,下面插入一段代码试试。最近在研究linux的网络部分,那就插入一段socket初始化的代码吧。

 

  1. SYSCALL_DEFINE3(socket, int, family, int, type, int, protocol) 
  2.         int retval; 
  3.         struct socket *sock; 
  4.         int flags; 
  5.  
  6.         /* Check the SOCK_* constants for consistency.  */ 
  7.         BUILD_BUG_ON(SOCK_CLOEXEC != O_CLOEXEC); 
  8.         BUILD_BUG_ON((SOCK_MAX | SOCK_TYPE_MASK) != SOCK_TYPE_MASK); 
  9.         BUILD_BUG_ON(SOCK_CLOEXEC & SOCK_TYPE_MASK); 
  10.         BUILD_BUG_ON(SOCK_NONBLOCK & SOCK_TYPE_MASK); 
  11.  
  12.         flags = type & ~SOCK_TYPE_MASK; 
  13.         if (flags & ~(SOCK_CLOEXEC | SOCK_NONBLOCK)) 
  14.                 return -EINVAL; 
  15.         type &= SOCK_TYPE_MASK; 
  16.  
  17.         if (SOCK_NONBLOCK != O_NONBLOCK && (flags & SOCK_NONBLOCK)) 
  18.                 flags = (flags & ~SOCK_NONBLOCK) | O_NONBLOCK; 
  19.  
  20.         retval = sock_create(family, type, protocol, &sock); 
  21.         if (retval < 0)  
  22.                 goto out;  
  23.  
  24.         retval = sock_map_fd(sock, flags & (O_CLOEXEC | O_NONBLOCK)); 
  25.         if (retval < 0)  
  26.                 goto out_release; 
  27.  
  28. out: 
  29.         /* It may be already another descriptor 8) Not kernel problem. */ 
  30.         return retval; 
  31.  
  32. out_release: 
  33.         sock_release(sock); 
  34.         return retval;