genericopenlibs/openenvcore/libc/test/testselect/src/tselectblocks.cpp
changeset 18 47c74d1534e1
parent 0 e4d67989cc36
child 45 4b03adbd26ca
child 57 2efc27d87e1c
equal deleted inserted replaced
0:e4d67989cc36 18:47c74d1534e1
   496 	return aSock;
   496 	return aSock;
   497 	}
   497 	}
   498 
   498 
   499 void* SocketWrite2(void* aSock)
   499 void* SocketWrite2(void* aSock)
   500 	{	
   500 	{	
   501 	int *sock_fd = (int*)aSock;
   501 //	int *sock_fd = (int*)aSock;
   502 	((int*)aSock)[Write2Err] = KErrNone;
   502 	((int*)aSock)[Write2Err] = KErrNone;
   503 	
   503 	
   504 	char buf[] = "Write from second thread";
   504 	char buf[] = "Write from second thread";
   505 //	sleep(2);
   505 //	sleep(2);
   506 	int ret = write(((int*)aSock)[1],buf,sizeof(buf));
   506 	int ret = write(((int*)aSock)[1],buf,sizeof(buf));
   513 	return aSock;	
   513 	return aSock;	
   514 	}
   514 	}
   515 
   515 
   516 void* PipeWrite(void* aPipe)
   516 void* PipeWrite(void* aPipe)
   517 	{
   517 	{
   518 	int *pipe_fd = (int*)aPipe;
   518 	//int *pipe_fd = (int*)aPipe;
   519 	char buf[] = "Pipe Write";
   519 	char buf[] = "Pipe Write";
   520 	sleep(1);
   520 	sleep(1);
   521 	int ret = write(((int*)aPipe)[PipeWriteDesc],buf,sizeof(buf));
   521 	int ret = write(((int*)aPipe)[PipeWriteDesc],buf,sizeof(buf));
   522 	FlgReadWrite = 1;
   522 	FlgReadWrite = 1;
   523 	if (ret < 0)
   523 	if (ret < 0)
   628 	sock_fds[1] = accept(listen_sock,(struct sockaddr*)&dest,&size);
   628 	sock_fds[1] = accept(listen_sock,(struct sockaddr*)&dest,&size);
   629 /********************************************************************************/
   629 /********************************************************************************/
   630 	
   630 	
   631 /*************************** Pipe Creation and Writing **************************/
   631 /*************************** Pipe Creation and Writing **************************/
   632     int fd[2];
   632     int fd[2];
   633     char buf1[50]= "Write from main thread";
   633     //char buf1[50]= "Write from main thread";
   634     INFO_PRINTF1(_L("Before Pipe "));   
   634     INFO_PRINTF1(_L("Before Pipe "));   
   635     if ( pipe(fd) < 0 )
   635     if ( pipe(fd) < 0 )
   636         {
   636         {
   637         return KErrGeneral;
   637         return KErrGeneral;
   638         }	
   638         }	
  1002     TBool stdinpass = EFalse;
  1002     TBool stdinpass = EFalse;
  1003     fd_set readfds;
  1003     fd_set readfds;
  1004     fd_set writefds;
  1004     fd_set writefds;
  1005     fd_set exceptfds;
  1005     fd_set exceptfds;
  1006     int maxfd = STDIN_FILENO;
  1006     int maxfd = STDIN_FILENO;
  1007     int select_ret = 0;
  1007    // int select_ret = 0;
  1008     maxfd = STDIN_FILENO;
  1008     maxfd = STDIN_FILENO;
  1009     FD_ZERO(&writefds);
  1009     FD_ZERO(&writefds);
  1010     FD_SET(STDIN_FILENO,&writefds);
  1010     FD_SET(STDIN_FILENO,&writefds);
  1011     select_ret = select(maxfd+1,&readfds,&writefds,&exceptfds,NULL);
  1011     /*select_ret =*/ select(maxfd+1,&readfds,&writefds,&exceptfds,NULL);
  1012     if( FD_ISSET(STDIN_FILENO,&writefds) )
  1012     if( FD_ISSET(STDIN_FILENO,&writefds) )
  1013         {        
  1013         {        
  1014         stdinpass = ETrue;
  1014         stdinpass = ETrue;
  1015         INFO_PRINTF1(_L("select on writefds of STDIN passed\n")) ;
  1015         INFO_PRINTF1(_L("select on writefds of STDIN passed\n")) ;
  1016         }
  1016         }
  1020         return KErrGeneral;
  1020         return KErrGeneral;
  1021         }
  1021         }
  1022     maxfd = STDOUT_FILENO;
  1022     maxfd = STDOUT_FILENO;
  1023     FD_ZERO(&writefds);
  1023     FD_ZERO(&writefds);
  1024     FD_SET(STDOUT_FILENO,&writefds);
  1024     FD_SET(STDOUT_FILENO,&writefds);
  1025     select_ret = select(maxfd+1,NULL,&writefds,NULL,NULL);
  1025     /*select_ret = */ select(maxfd+1,NULL,&writefds,NULL,NULL);
  1026     if( FD_ISSET(STDOUT_FILENO,&writefds) )
  1026     if( FD_ISSET(STDOUT_FILENO,&writefds) )
  1027         {
  1027         {
  1028         if( stdinpass )
  1028         if( stdinpass )
  1029             {
  1029             {
  1030             INFO_PRINTF1(_L("select on writefds of STDOUT passed\n")) ;
  1030             INFO_PRINTF1(_L("select on writefds of STDOUT passed\n")) ;
  1055     fd_set writefds;
  1055     fd_set writefds;
  1056     fd_set readfds;
  1056     fd_set readfds;
  1057     fd_set exceptfds;
  1057     fd_set exceptfds;
  1058     int max;
  1058     int max;
  1059     int select_ret = 0;
  1059     int select_ret = 0;
  1060     int ret = KErrGeneral;    
  1060    // int ret = KErrGeneral;    
  1061     struct sockaddr_in serv_addr; 
  1061     struct sockaddr_in serv_addr; 
  1062     serv_addr.sin_family = AF_INET;     
  1062     serv_addr.sin_family = AF_INET;     
  1063     serv_addr.sin_addr.s_addr = inet_addr(addr); 
  1063     serv_addr.sin_addr.s_addr = inet_addr(addr); 
  1064     serv_addr.sin_port = htons(80);
  1064     serv_addr.sin_port = htons(80);
  1065     sock_fd = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);  
  1065     sock_fd = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);