Sponsored Content
Full Discussion: Pthread_create issue
Top Forums Programming Pthread_create issue Post 302196668 by Franklin52 on Monday 19th of May 2008 06:58:28 AM
Old 05-19-2008
- First, enable the warning to see if you get some usefull messages.
- Declare enough elements for arr[] as used for the functions manufacturers and consumer.
- The 3th parameter should be an address of the thread function:

Code:
status = pthread_create(&manufacturer_thread, NULL, &manufacturer, NULL);
status = pthread_create(&consumer_thread, NULL, &consumer, NULL);

instead of:

Code:
status = pthread_create(&manufacturer_thread, NULL, manufacturer, NULL);
status = pthread_create(&consumer_thread, NULL, consumer, NULL);

Regards
 

9 More Discussions You Might Find Interesting

1. Programming

pthread_create problem

Here is simple code for multithreading in POSIX: void* simplethread(void* arg) { printf("Hello World\n"); } int main(void) { pthread_t id; pthread_create(&id, NULL, simplethread, NULL); return 0; } Whether the new thread will run or not depends on the OS. Tricky ... (5 Replies)
Discussion started by: _rocky
5 Replies

2. Programming

unresolve pthread_create etc

how to do with that? after cc -o xxxx xxxx.c ld: Unresolved: _pthread_create _pthread_deteach _pthread_exit Thanks (3 Replies)
Discussion started by: zhshqzyc
3 Replies

3. Programming

pthread_create and scope usage

I have a problem with a C multi-threaded program I am writing. I cannot figure out how to keep the unique key value at the thread level. I wrote a program in C that forked a bunch of processes and then decided to convert it to threads and I can't keep the key unique to each thread. In a nutshell... (3 Replies)
Discussion started by: jenmead
3 Replies

4. Programming

How Can I use pthread_create ?

Hi. I use C++ and I wishes to create a thread with the pthread_create function, my question is, how can I do this if I wish that the function will be a member of the class ?? I know from windows programming that I can declare a static function like this static unsigned int __stdcall... (7 Replies)
Discussion started by: shvalb
7 Replies

5. Solaris

pthread_create failed upon execution

Im trying to run an application i compiled (iperf) and i get an error telling me that it cant create the pthread. when i ran the ./configuration one of the things it checked was for pthreads which came back ok. Im not really sure where to even start to resolve this. i have been unable to find... (5 Replies)
Discussion started by: jrich523
5 Replies

6. Programming

undefined reference to `pthread_create'

Hi guys. H was learning posix threads in C with anjuta IDE. it gives me undefined reference to `pthread_create' I know i should compile it like: gcc -lpthread main.c how should i import this configuration in anjuta so i can compile inside it? (2 Replies)
Discussion started by: majid.merkava
2 Replies

7. Programming

pthread_create

The prototype for pthread_create function is like this:- int pthread_create(pthread_t *thread,pthread_attr_t *attr,void *(*start routine),void *arg); Q.1 .Why the return type of the start_routine must be void*?? Q.2. Why should we pass arg by converting into void * only ?? Thank You (3 Replies)
Discussion started by: sunil_abhay
3 Replies

8. UNIX for Dummies Questions & Answers

Pthread_create problem

Hi, I'm trying to do my homework assignment but I am having trouble using the pthread_create fucntion. Here is my code________________ //Alicia Johnson //sum_pid program //creates n number of threads. These threads create a random number //then adds the number to a global array. Then... (1 Reply)
Discussion started by: ajohns38
1 Replies

9. Programming

fork vs pthread_create

Suppose I have a simple program main() with a global varibale int x=0. int x = 0; main() { print("%d\n",x); } I want to create two threads/process which must access this variable x in sync. Which one will be better threads( pthread_create ) or process( fork )? If I go with fork() then... (1 Reply)
Discussion started by: rupeshkp728
1 Replies
LOCKS(3)						   libbash locks Library Manual 						  LOCKS(3)

NAME
locks -- libbash library that implements locking (directory based). This library is not throughoutly tested - use with caution! SYNOPSIS
dirInitLock <object> [<spin>] dirTryLock <object> dirLock <object> dirUnlock <object> dirDestroyLock <object> DESCRIPTION
General locks is a collection of functions that implement locking (mutex like) in bash scripting language. The whole idea is based on the fact that directory creation/removal is an atomic process. The creation of this library was inspired by studying CVS locks management. Same lock object can by used by several processes to serialize access to some shared resource. (Well, yeah, this what locks were invented for...) To actually do this, processes just need to access lock object by the same name. Functions list: dirInitLock Initialize a lock object for your proccess dirTryLock Try to lock the lock object - give up if its already locked dirLock Lock the lock object - will block until object is unlocked dirUnlock Unlock the lock object dirDestroyLock Destroy the lock object - free resources Detailed interface description follows. FUNCTIONS DESCRIPTIONS
dirInitLock <object> [<spin>] Initialize a lock object for your process. Only after a lock is initialized, your proccess will be able to use it. Notice: This action does not lock the object. The lock can be set on two types of objects. The first is an existing directory. In this case, Aq dir must be a path (relative or full). The path must contain a '/'. The second is an abstract object used as a lock. In this case, the name of the lock will not contain any '/'. This can be used to create locks without creating real directories for them. Notice: Do not call your lock object '.lock'. Parameters: <object> The name of the lock object (either existing directory or abstract name) <spin> The time (in seconds) that the funtion dirLock will wait between two runs of dirTryLock. This parameter is optional, and its value gen- erally should be less then 1. If ommited, a default value (0.01) is set. Return Value: One of the following: 0 The action finished successfully. 1 The action failed. You do not have permissions to preform it. 3 The directory path could not be resolved. Possibly parameter does contain '/', but refers to directory that does not exist. dirTryLock <object> Try to lock the lock object. The function always returns immediately. Parameters: <object> The object that the lock is set on. Return Value: One of the following: 0 The action finished successfully. 1 The action failed. The object is already locked. 2 The action failed. Your proccess did not initialize a lock for the object. 3 The directory path could not be resolved. dirLock <object> Lock given lock object. If the object is already locked - the function will block untill the object is unlocked. After each try (dirTry- Lock) the function will sleep for spin seconds (spin is defined using dirInitLock ). Parameters: <object> The directory that the lock is set on. Return Value: One of the following: 0 The action finished successfully. 2 The action failed. Your proccess did not initialize a lock for the directory. 3 The directory path could not be resolved. dirUnlock <dir> Unlock the lock object. Parameters: <object> The object that the lock is set on. Return Value: One of the following: 0 The action finished successfully. 2 The action failed. Your proccess did not initialize the lock. 3 The directory path could not be resolved. dirDestroyLock <object> Destroys the lock object. After this action the proccess will no longer be able to use the lock object. To use the object after this action is done, one must initialize the lock, using dirInitLock. Parameters: <object> The directory that the lock is set on. Return Value: One of the following: 0 The action finished successfully. 1 The action failed. The directory is locked by your own proccess. Unlock it first. 2 The action failed. Your proccess did not initialize the lock. 3 The directory path could not be resolved. EXAMPLES
Creating an abstract lock named mylock, with 0.1 second spintime: $ dirInitLock mylock 0.1 # $?=0 Locking it: $ dirLock mylock # $?=0 Trying once to lock it again: $ dirTryLock mylock # $?=1 Trying to lock it again: $ dirLock mylock # Will wait forever Unlocking: $ dirUnlock mylock # $?=0 Destroying the lock: $ dirDestroyLock mylock # $?=0 Trying to lock again: $ dirLock mylock # $?=2 Creating a lock on the directory ./mydir, with default spin time: $ dirInitLock ./mydir # $?=0 AUTHORS
Hai Zaar <haizaar@haizaar.com> Gil Ran <gil@ran4.net> SEE ALSO
ldbash(1), libbash(1) Linux Epoch Linux
All times are GMT -4. The time now is 08:07 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy