Pthread Error Code 12
here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and policies of this site About Us Learn more about Stack Overflow the company Business Learn more about hiring developers or posting ads with us Stack Overflow Questions Jobs Documentation Tags Users Badges Ask Question x Dismiss Join the Stack Overflow Community Stack Overflow is a community of 6.2 million programmers, just like you, helping each other. Join them; it only takes a minute: Sign up Why does pthread_create() return 12? up vote 0 down vote favorite 1 For some reason, pthread_create isn't allowing me to pass a struct as an argument. The issue is not system related, although I have not had a chance to test it on anyone else's box. It simply won't allow me to pass a struct for some reason; it returns error #12. The issue is not with memory. I know 12 is ENOMEM, and "that should be that", but it's not.. it simply won't accept my struct as a pointer. struct mystruct info; info.website = website; info.file = file; info.type = type; info.timez = timez; for(threadid = 0; threadid < thread_c; threadid++) { // printf("Creating #%ld..\n", threadid); retcode = pthread_create(&threads[threadid], NULL, getstuff, (void *) &info); //void * getstuff(void *threadid); When I ran this code in GDB, for some reason, it didn't return code 12.. but when I run it from the command line, it returns 12. Any ideas? c pthreads share|improve this question edited Dec 31 '11 at 4:18 Jonathan Leffler 441k62513824 asked Dec 31 '11 at 3:58 Saustin 432720 The argument to the thread routine getstuff() is the pointer to &info, which is not a thread ID, despite your comment that its argument is a 'threadid'. You're probably aware of this, but just double checking. –Jonathan Leffler Dec 31 '11 at 4:16 Suppose you pass a null pointer instead of the address of info; you could make info into a global var
Tutorials/Articles Search HCL Search Reviews Search ISOs Go to Page... LinuxQuestions.org > Forums > Non-*NIX Forums > Programming pthread_create Cannot allocate memory error code 12 User Name Remember Me? Password Programming This forum is for all programming questions. The question does not have to be directly related to Linux and any language is fair game. Notices Welcome to LinuxQuestions.org, a friendly and active Linux Community. You are currently viewing LQ as a guest. By http://stackoverflow.com/questions/8686171/why-does-pthread-create-return-12 joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today! Note that registered members see fewer ads, and ContentLink is completely disabled once you log in. Are you new http://www.linuxquestions.org/questions/programming-9/pthread_create-cannot-allocate-memory-error-code-12-a-486157/ to LinuxQuestions.org? Visit the following links: Site Howto | Site FAQ | Sitemap | Register Now If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here. Having a problem logging in? Please visit this page to clear all LQ-related cookies. Introduction to Linux - A Hands on Guide This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter. For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on
In C programming language, there is no direct support for error handling. You have to detect the failure and handle the error. In C programming language, return values represents http://www.thegeekstuff.com/2010/10/linux-error-codes success or failure. Inside a C program, when a function fails, you should handle the errors accordingly, or at least record the errors in a log file. When you are running some program on Linux https://books.google.gr/books?id=_xvnuFzo7q0C&pg=PA32&lpg=PA32&dq=pthread+error+code+12&source=bl&ots=Ko4U2YVbW9&sig=MCuerV0ykYwaxQsYo9m8xnDJ3L8&hl=en&sa=X&ved=0ahUKEwjBkK_2m-nPAhWG3iwKHSVpC8EQ6AEIYzAJ environment, you might notice that it gives some error number. For example, "Error no is : 17", which doesn't really say much. You really need to know what error number 17 means. This article pthread error shows all available error numbers along with it descriptions. This article might be a handy reference for you, when you encounter an error number and you would like to know what it means. In C programming language, there is an external variable called "errno". From this errno variable you can use some error handling functions to find out the error description and handle it appropriately. You have to pthread error code include errno.h header file to use external variable errno. perror function prints error description in standard error. The strerror function returns a string describing the error code passed in the argument errnum. The following C code snippet tries to open a file through open system call. There are two flags in the open call. O_CREAT flag is to create a file, if the file does not exist. O_EXCL flag is used with O_CREAT, if the file is already exist open call will fail with the proper error number. $ cat fileopen.c #include
εμάς.Μάθετε περισσότερα Το κατάλαβαΟ λογαριασμός μουΑναζήτησηΧάρτεςYouTubePlayΕιδήσειςGmailDriveΗμερολόγιοGoogle+ΜετάφρασηΦωτογραφίεςΠερισσότεραΈγγραφαBloggerΕπαφέςHangoutsΑκόμη περισσότερα από την GoogleΕίσοδοςΚρυφά πεδίαΒιβλίαbooks.google.gr - With this practical book, you will attain a solid understanding of threads and will discover how to put this powerful mode of programming to work in real-world applications. The primary advantage of threaded programming is that it enables your applications to accomplish more than one task at the same...https://books.google.gr/books/about/Programming_with_POSIX_Threads.html?hl=el&id=_xvnuFzo7q0C&utm_source=gb-gplus-shareProgramming with POSIX ThreadsΗ βιβλιοθήκη μουΒοήθειαΣύνθετη Αναζήτηση ΒιβλίωνΠροβολή eBookΛήψη αυτού του βιβλίου σε έντυπη μορφήAddison-Wesley ProfessionalΕλευθερουδάκηςΠαπασωτηρίουΕύρεση σε κάποια βιβλιοθήκηΌλοι οι πωλητές»Programming with POSIX ThreadsDavid R. ButenhofAddison-Wesley Professional, 1997 - 381 σελίδες 6 Κριτικέςhttps://books.google.gr/books/about/Programming_with_POSIX_Threads.html?hl=el&id=_xvnuFzo7q0C With this practical book, you will attain a solid understanding of threads and will discover how to put this powerful mode of programming to work in real-world applications. The primary advantage of threaded programming is that it enables your applications to accomplish more than one task at the same time by using the number-crunching power of multiprocessor parallelism and by automatically exploiting I/O concurrency in your code, even on a single processor machine. The result: applications that are faster, more responsive to users, and often easier to maintain. Threaded programming is particularly well suited to network programming where it helps alleviate the bottleneck of slow network I/O. This book offers an in-depth description of the IEEE operating system interface standard, POSIXAE (Portable Operating System Interface) threads, commonly called Pthreads. Written for experienced C programmers, but assuming no previous knowledge of threads, the book explains basic concepts such as asynchronous programming, the lifecycle of a thread, and synchronization. You then move to more advanced topics such as attributes obje