diff -r 89d6a7a84779 -r 25a17d01db0c Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/sigusr2_8c-source.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/sigusr2_8c-source.html Fri Jan 22 18:26:19 2010 +0000 @@ -0,0 +1,84 @@ + + +TB10.1 Example Applications: examples/PIPS/posixsignals/asyncSignal/src/sigusr2.c Source File + + + + +

examples/PIPS/posixsignals/asyncSignal/src/sigusr2.c

00001 // sigusr2.c
+00002 //
+00003 // Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+00004 // All rights reserved.
+00005 // This component and the accompanying materials are made available
+00006 // under the terms of "Eclipse Public License v1.0"
+00007 // which accompanies this distribution, and is available
+00008 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
+00009 //
+00010 // Initial Contributors:
+00011 // Nokia Corporation - initial contribution.
+00012 //
+00013 // Contributors:
+00014 //
+00015 // Description: The source file for sigusr2 process.
+00016 //
+00017 
+00018 #include <stdio.h>
+00019 #include <stdlib.h>
+00020 #include <signal.h>
+00021 #include <unistd.h>
+00022 #include <e32def.h>
+00023 
+00027 int gVal = TRUE;
+00028 
+00033 void SIGUSR2_handler(int signum)
+00034     {
+00035     if(signum == SIGUSR2)
+00036         {
+00037         printf("Received the SIGUSR2 signal from the sigusr1 process after reading the file.\n");
+00038         gVal = FALSE;
+00039         }
+00040     }
+00041 
+00049 int main(int argc,char **argv)
+00050     {
+00051     pid_t asyProcsID = atoi(argv[1]);  //The variable holding the sigusr1 process PID.
+00052     char ch;
+00053     int ret;
+00054     int arg = argc;
+00055     // Setup the custom handler for SIGUSR2.
+00056     signal(SIGUSR2, SIGUSR2_handler);
+00057     printf("******************** In the sigusr2 process ********************\n");
+00058     
+00059     printf("\nPress the Enter key to send the SIGUSR1 signal to the sigusr1 process\n");
+00060     getchar();
+00061     ret = kill(asyProcsID,SIGUSR1);
+00062     if(ret)
+00063         {
+00064         printf("kill() failed to send signal, errno=%d\n",errno);
+00065         gVal = FALSE;
+00066         }
+00067     
+00068     /* 
+00069      Waiting until a SIGUSR2 signal is obtained from the sigusr1 process.
+00070      This signal is sent after the aynscFile.txt file has been
+00071      read and its content written to the console.
+00072     */
+00073     while(gVal)
+00074         {
+00075         sleep(0);   //Initiates signal handling.
+00076         }
+00077     printf("\nPress 'e'+Enter to exit from the sigusr2 process\n");
+00078     while((ch = getchar())!= 'e')
+00079         {
+00080         if(ch == '\n')
+00081             continue;
+00082         else
+00083             printf("The wrong option was selected, please try again!!!\n");
+00084         }
+00085     return EXIT_SUCCESS;
+00086     }
+

Generated on Thu Jan 21 10:33:00 2010 for TB10.1 Example Applications by  + +doxygen 1.5.3
+ +