C++ World

C++ Resources, Tips,
Documentation, Examples,
HOWTO's, FAQ's, Tools
Libraries, Frameworks, IDE's

 
© 2005,2009 C++ World - All rights reserved - webdesign.arttina
C++, Sockets, SysProg, Libraries, Examples, Tools, Compilers, IDE, STL, XML
Google
FAQ Sockets Socket Library Software Engineering Sysprog Examples Books
 
Home
C++
The C Language
STL
BOOST
GNU
GNU C Compiler
GNU Debugger
GNU Profiler
HP C++ Compiler
DDD
Eclipse
Curses
XML
X11
KDevelop
MS Visual Studio
Tutorials
// **************************************************************
// Com ++ Framework by the C++ World
// Please report defects: mailto:compp@cplusplusworld.com
// Please visit: http://www.cplusplusworld.com/socketlibrary.html
// **************************************************************

#include <iostream>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>

#include "ComPlusPlus/ComPlusPlus"

int main( int argc, char * argv [] ) {

  if ( argc != 2 ) {
    std::cout << "usage: ExampleSem post|wait|local\n";
    exit (1);
  }

  if ( strcmp ( argv [ 1 ], "post") == 0  ) {
    compp::Sem *s1 = new compp::Sem ( true, 1 )  ;
    for ( int i = 0; i++ < 10; ) {
      s1->Post();
    } 

  } else {
    if ( strcmp ( argv [ 1 ], "wait") == 0  ) {
      compp::Sem *s1 = new compp::Sem ( true, 1 )  ;
      
      for ( int i = 0; i++ < 10; ) {
	s1->Wait();
      }
    } else {

      compp::Sem *s1 = new compp::Sem (  )  ;
      std::cout << "*****************  Semaphore *****************\n";
      for ( int i = 0; i++ < 10; ) {

	s1->Post();
      }

      for ( int l = 0; l++ < 10; ) {

	s1->Wait();
      }
            std::cout << "***************** OK *****************\n";
    }
  }
  return 0;
}


syntax highlighted by Code2HTML, v. 0.9.1


Franz Brandel Contact Legal Statement Sitemap C++ World