Sponsored Content
Top Forums Programming POSIX threads and data safety Post 302293478 by jim mcnamara on Tuesday 3rd of March 2009 06:55:00 AM
Old 03-03-2009
pthreads can switch cpu's. Your model has problems.

In reading I have seen sched_setaffinity() mentioned in the context of pthreads. I have never tried it.

Have you considered pthread_setspecific() to control data access? It kind of sounds like you are doing that, but maybe in a less conventional way.
 

7 More Discussions You Might Find Interesting

1. Programming

select/poll and Signal Safety

Hi I am struggling to understand why one should use pselect()/ppoll() instead of wrapping an ordinary select() or poll() call around sigprocmask(). The linux man page talks about “race conditions”, but how would such dangers occur? I plan to use poll() for an application (since ppoll() isn't... (0 Replies)
Discussion started by: nopcoder
0 Replies

2. Programming

POSIX threads

Hello ! Let's supose I have a main function in C , and two POSIX threads. I give you an example down : int main() { int something; char else; void *FirstThread(); void *SecondThread(); .. <start those two pthreads ..> return 0;} void *FirstThread() { ... } void *SecondThread()... (2 Replies)
Discussion started by: !_30
2 Replies

3. UNIX for Advanced & Expert Users

Threads and Threads Count ?

Hi all, How can I get the list of all Threads and the Total count of threads under a particular process ? Do suggest !! Awaiting for the replies !! Thanks Varun:b: (2 Replies)
Discussion started by: varungupta
2 Replies

4. UNIX for Advanced & Expert Users

Posix threads

Hi, consider the code below: #include <stdio.h> . . struct myStruct { char *message ; int id; }; . . . void *thread_function( void *ptr ); nt main() { pthread_t thread1, thread2 ,thread3 ; struct myStruct nico1; (2 Replies)
Discussion started by: Behnaz
2 Replies

5. Programming

need help with posix threads

Hi, I am new to posix threads. The no of threads to be created depends on the runtime. If I get the number of threads, I need to forward declare pthread_t mythread; how to do that can I use pointers and use malloc()?? I also have another question. The pthread_join is used to make... (0 Replies)
Discussion started by: brett01
0 Replies

6. UNIX for Advanced & Expert Users

Linkage of POSIX threads function calls

I wonder if someone knows what is the rationale behind linking function calls of the POSIX threads library at link-time vs. run-time. For example, if I create the following program: #include <pthread.h> void noop() { return; } int main() { pthread_self(); pthread_atfork(noop,... (1 Reply)
Discussion started by: jsimsa
1 Replies

7. Solaris

SUNFIRE V240 procedure to shutdown with safety in order to replace power cables

Question: Which commands to use to shutdown with safety the server; (2 Replies)
Discussion started by: doudou2012
2 Replies
pthread_getspecific(3C) 				   Standard C Library Functions 				   pthread_getspecific(3C)

NAME
pthread_getspecific, pthread_setspecific - manage thread-specific data SYNOPSIS
cc -mt [ flag... ] file... -lpthread [ library... ] #include <pthread.h> int pthread_setspecific(pthread_key_t key, const void *value); void *pthread_getspecific(pthread_key_t key); DESCRIPTION
The pthread_setspecific() function associates a thread-specific value with a key obtained by way of a previous call to pthread_key_cre- ate(). Different threads may bind different values to the same key. These values are typically pointers to blocks of dynamically allocated memory that have been reserved for use by the calling thread. The pthread_getspecific() function returns the value currently bound to the specified key on behalf of the calling thread. The effect of calling pthread_setspecific() or pthread_getspecific() with a key value not obtained from pthread_key_create() or after key has been deleted with pthread_key_delete() is undefined. Both pthread_setspecific() and pthread_getspecific() may be called from a thread-specific data destructor function. However, calling pthread_setspecific() from a destructor may result in lost storage or infinite loops. RETURN VALUES
The pthread_getspecific() function returns the thread-specific data value associated with the given key. If no thread-specific data value is associated with key, then the value NULL is returned. Upon successful completion, the pthread_setspecific() function returns 0. Otherwise, an error number is returned to indicate the error. ERRORS
The pthread_setspecific() function will fail if: ENOMEM Insufficient memory exists to associate the value with the key. The pthread_setspecific() function may fail if: EINVAL The key value is invalid. The pthread_getspecific() function does not return errors. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+ SEE ALSO
pthread_key_create(3C), attributes(5), standards(5) SunOS 5.11 23 Mar 2005 pthread_getspecific(3C)
All times are GMT -4. The time now is 07:33 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy