SVN: backtracexx: example.cpp makefile
pluto
pluto at pld-linux.org
Thu Jun 19 15:37:51 CEST 2008
Author: pluto
Date: Thu Jun 19 15:37:51 2008
New Revision: 9816
Modified:
backtracexx/example.cpp
backtracexx/makefile
Log:
- single/multi threaded example/test.
Modified: backtracexx/example.cpp
==============================================================================
--- backtracexx/example.cpp (original)
+++ backtracexx/example.cpp Thu Jun 19 15:37:51 2008
@@ -21,7 +21,6 @@
volatile int* p = 0;
*p = 0;
}
- throw std::runtime_error( "still alive?" );
}
void bar( void ( *f )() )
@@ -29,21 +28,24 @@
f();
}
-void foo()
+void* foo( void* )
{
bar( &zoo );
+ pthread_exit( 0 );
}
-int main()
+int main( int argc, char const* const* argv )
{
signal( SIGSEGV, signalHandler );
- try
+ if ( argc > 1 )
{
- foo();
+ pthread_t t;
+ pthread_create( &t, 0, &foo, 0 );
+ pthread_join( t, 0 );
}
- catch ( std::exception const& e )
- {
- std::cerr << e.what() << std::endl;
+ else
+ {
+ foo( 0 );
}
return 0;
}
Modified: backtracexx/makefile
==============================================================================
--- backtracexx/makefile (original)
+++ backtracexx/makefile Thu Jun 19 15:37:51 2008
@@ -5,7 +5,7 @@
example: example.cpp backtracexx.hpp backtracexx.cpp
$(CXX) $(CXXFLAGS) -fpic backtracexx.cpp -o libbacktracexx.so -shared -s -ldl -static-libgcc
- $(CXX) $(CXXFLAGS) example.cpp -o example ./libbacktracexx.so -s -Wl,--export-dynamic
+ $(CXX) $(CXXFLAGS) -pthread example.cpp -o example ./libbacktracexx.so -s -Wl,--export-dynamic
clean:
rm -f *.o *.s *.ii example libbacktracexx.so
More information about the pld-cvs-commit
mailing list