Search Results

Search found 22405 results on 897 pages for 'message threading'.

Page 25/897 | < Previous Page | 21 22 23 24 25 26 27 28 29 30 31 32  | Next Page >

  • JMS Acknowledge Asynchronous Message

    - by x1a0
    Hi, How do I acknowledge a message when I am using a message listener? I get the following error when I try to do an acknowledge in my message listener. A synchronous method call is not permitted when a session is being used asynchronously: 'acknowledge'

    Read the article

  • how to open Gmail View Message Activity?

    - by NickLai
    I want to write an application to List the Gmail message. In the list, if user click one of the message item, it shall link ot Gmail App to see more detial information. Currently I can read the Gmail db with Gmail.java. There are some problems while I want to open Gmail Activity. In general, we can open Activity with Action and parameters. But Gmail App has not release code base. We do not know what Action set to Gmail Activity and what parmeter shall we put the extras. I only know that the Activity of View detial Message is named "HtmlConversationActivity." And the Package is under "com.google.android.gm." please tell me how to open the View detial Message Activity in Gmail APP. thanks a lot.

    Read the article

  • .net 3.5 message framing

    - by Rob
    We have message framing working by using a lengh prefix but using .NET 2.0 beginSend/BeginReceive. Is message framing any different in 3.5, if so how should we implement it using the new framework? Are there any useable examples out there which focus purely on message framing using 3.5? Many thanks

    Read the article

  • Forming a SOAP request message through WSDL

    - by Shahzad
    I'm very new to webservices. I'm trying to figure out how I can formulate a request message (and determine what the response message) would be based on the wsdl description that I have. This is from a third party web service. The WSDL description that I have access to gives me a bunch of information like <types> <message> <operation> etc. But in the examples that I've seen online, it's showing the request mesage within the "soap:envelope" tag. What am I missing? Eventually I'd like to be able to call this webservice using JQuery. But I can't even figure out how to formulate the request message let alone make an ajax call to it. any help would be appreciated.

    Read the article

  • changing the last commit message without committing newest changes

    - by Oleg2718281828
    My ideal workflow would consist of the following steps edit the code compile git commit -a -m "commit message" start running the new binaries, tests, etc. (may take 10+ minutes) start new changes, while the binaries are still running when step # 4 is finished, edit the commit message from step # 3, without committing the changes introduced in step # 5, by adding, say, "test FOO failed" I cannot use git commit -a --amend -m "new commit message", because this commits the new changes as well. I'm not sure that I want to bother with staging or branching. I wish I could just edit the commit message without committing any new changes. Is it possible?

    Read the article

  • HOW to send message from php to desktop app (c#)

    - by Smith
    Hello guys, Am developing a desktop app that will serve as message notifier, just like yahoo messenger and Gmail notifier does. All i want is that when a message is sent to a particular account, the php script would send message to a particular ip:port of the desktop application. Any help

    Read the article

  • How do I branch if message.properties-code exists

    - by skurt
    I want to branch if a message-property-code does exist or not. <g:if test="${message(code: 'default.code.foo')}"> true </g:if><g:else> false </g:else> should answer true if there a message property named default.code.foo and false if not. It fails because it answers the code if there is no property for it.

    Read the article

  • Using Message Boxes in Windows 7 style

    - by Meta
    After reading the MSDN article about proper user interface here: http://msdn.microsoft.com/en-us/library/aa974176.aspx I want to modify the message boxes I use in my applications to reflect those guidelines (for example, have the Main Instructions in a larger font, better named Buttons, etc...). My question is, is there an API that allows you to easily build those kind of message boxes (a la user32\MessageBox()), or do you actually have to build your own message boxes which follow the guidelines?

    Read the article

  • Sending a message to nil?

    - by Ryan Delucchi
    As a Java developer who is reading Apple's Objective-C 2.0 documentation: I wonder as to what sending a message to nil means - let alone how it is actually useful. Taking an excerpt from the documentation: There are several patterns in Cocoa that take advantage of this fact. The value returned from a message to nil may also be valid: If the method returns an object, any pointer type, any integer scalar of size less than or equal to sizeof(void*), a float, a double, a long double, or a long long, then a message sent to nil returns 0. If the method returns a struct, as defined by the Mac OS X ABI Function Call Guide to be returned in registers, then a message sent to nil returns 0.0 for every field in the data structure. Other struct data types will not be filled with zeros. If the method returns anything other than the aforementioned value types the return value of a message sent to nil is undefined. Has Java rendered my brain incapable of grokking the explanation above? Or is there something that I am missing that would make this as clear as glass? Note: Yes, I do get the idea of messages/receivers in Objective-C, I am simply confused about a receiver that happens to be nil.

    Read the article

  • Respond to a UDP message

    - by JDCAce
    I have a pair of very simple C# programs (server and client). The client's user enters an IP address, and the client sends a UDP message to the server. The server uses UDPClient.Receive() to listen to IPAddress.Any, prints out the message it received and where it was sent from (the client's IP address), then sends a UDP message back to the client. The problem is in that last part: my client is not receiving any message. It listens only to the server, instead of IPAddress.Any. The SendUdpMessage() and WaitForMessage() methods are identical, except for the IPAddress.Any part. I cannot find what's wrong! I can post the code if I need to, but I don't know which part is relevant, and I don't want to post the entire program (about 150 lines combined).

    Read the article

  • Siebel Troubleshooting : An ODBC error occurred; SBL-GEN-03006: Error calling function: DICFindTable m_pReqTbl

    - by Giri Mandalika
    Symptom: A newly installed Siebel application server fails to start despite successful ODBC connectivity to the database. SRProc process logs ODBC error messages similar to the following: Message: GEN-13, Additional Message: dict-ERR-1109: Unable to read value from export file (Data length (32) Column definition (3)). Message: GEN-13, Additional Message: dict-ERR-1107: Unable to read row 0 from export file (UTLDataValRead pBuf, col 4 ). GenericLog GenericError 1 0002157.. 11-11-18 13:28 Message: Generated SQL statement:, Additional Message: SQLFetch: SELECT RDOBJ.DOCK_ID, RDOBJ.RELATED_DOCK_ID, RDOBJ.SQL_STATEMENT, RDOBJ.CHECK_VISIBILITY, 'N', RDOBJ.COMMENTS, RDOBJ.ACTIVE, RDOBJ.SEQUENCE, RDOBJ.VIS_STRENGTH, RDOBJ.REL_VIS_STRENGTH, RDOBJ.VIS_EVT_COLS FROM ORAPERF.S_DOCK_REL_DOBJ RDOBJ, ORAPERF.S_DOCK_OBJECT DOBJ WHERE RDOBJ.REPOSITORY_ID = (SELECT ROW_ID FROM ORAPERF.S_REPOSITORY WHERE NAME = ?) AND DOBJ.ROW_ID = RDOBJ.DOCK_ID AND (DOBJ.INACTIVE_FLG = 'N' OR DOBJ.INACTIVE_FLG IS NULL) AND (RDOBJ.INACTIVE_FLG = 'N' OR RDOBJ.INACTIVE_FLG IS NULL) Message: Error: An ODBC error occurred, Additional Message: Function: DICGetRDObjects; ODBC operation: SQLFetch Message: GEN-13, Additional Message: dict-ERR-1109: Unable to read value from export file (UTLCompressFRead (fseek)). Message: GEN-13, Additional Message: dict-ERR-1107: Unable to read row 0 from export file (UTLDataValRead pBuf, col 0 ). Message: GEN-10, Additional Message: Calling Function: DICLoadDObjectInfo; Called Function: Calling DICGetRDObjects Message: GEN-10, Additional Message: Calling Function: DICLoadDict; Called Function: DICLoadDObjectInfo GenericError (srpdb.cpp (860) err=3006 sys=2) SBL-GEN-03006: Error calling function: DICFindTable m_pReqTbl (srpsmech.cpp (74) err=3006 sys=0) SBL-GEN-03006: Error calling function: DICFindTable m_pReqTbl (srpmtsrv.cpp (107) err=3006 sys=0) SBL-GEN-03006: Error calling function: DICFindTable m_pReqTbl (smimtsrv.cpp (1203) err=3006 sys=0) SBL-GEN-03006: Error calling function: DICFindTable m_pReqTbl SmiLayerLog Error Terminate process due to unrecoverable error: 3006. (Main Thread) An inconsistent or corrupted dictionary file "diccache.dat" is likely the cause. Solution: Stop the application server and manually kill the remaining Siebel application specific processes eg., stop_server all pkill siebmtsh pkill siebproc .. Remove $SIEBEL_HOME/bin/diccache.dat file. It will be re-generated during the application server startup Start the application server start_server all

    Read the article

  • Exchange eMails In A Mailbox Appear To Be Blocked By A Dud Message

    - by John Judd
    I have a client with an Exchange server on which there are quite a few mailboxes. One mailbox in particular is causing some problems. When an email from a certain address arrives, it appears to prevent Exchange from successfully delivering the email to the Outlook Express inbox. The address in question is from an account with Bigpond, or at least I think it is, I didn't check to see if it was spoofed (only just occurred to me.) Any emails in the queue before the suspect email are delivered, then Express times out. When send/recv is retried those emails are re-received and the process times out again. The process I have for fixing this is to log in to the sever, load Outlook, open the recipients inbox, and delete the suspect email. Then retrying the send/recv on Express successfully retrieves all the messages (except for the deleted message.) This solves the immediate problem, but this has happened several times now, and each time requires the process above to correct it. What I am wondering is if there is anything I can do to fix this permanently. It seems to me that Exchange should reject a dud email message rather than getting stuck. Does anyone know what could be causing this, and how I can fix it?

    Read the article

  • Error 550 Mail Relay Message Could Not Be Sent

    - by mraliks
    I'm not sure if this is the right area to ask, but here we go. I have a client who has a couple websites on a Windows server with MailEnable as the mail manager. Any emails being sent from the server work great, except when sending to some domains, the message does not go through due to the following error: 12/13/11 01:15:56 ME-I0026: [86476200E5834227A819E6E63E0EFDA2.MAI] Sending message 12/13/11 01:15:57 ME-IXXXX: [86476200E5834227A819E6E63E0EFDA2.MAI] Remote server returned a response indicating a permanent error. Server Response: (550 Relaying not allowed**) 12/13/11 01:15:57 ME-E0036: [86476200E5834227A819E6E63E0EFDA2.MAI] MAIL FROM command Failed. Can anyone give me some leads on how to correct the settings to allow emails to go through properly? In particular, the emails are not going through to a Network Solutions email account and Network Solutions has not been very helpful thus far. In addition, can a domain's DNS settings affect this error? Currently, the domains are hosted by Network Solutions and use the Network Solutions email service to send/receive email. The server is located with a different company and the Domains' DNS points to it. Which mail related DNS entries are allowed or not allowed in this scenario? Thanks

    Read the article

  • Trying to delete directory with "rm -rf", but get message that it's not empty

    - by Ben Hocking
    I've tried deleting a directory using "rm -rf" and I'm getting the message "Directory not empty": Bens-MacBook-Pro:please benjaminhocking$ ls -lart empty_directory/ total 16 drwxr-xr-x 5 benjaminhocking staff 170 Aug 27 14:46 . drwxr-xr-x 3 benjaminhocking staff 102 Aug 27 15:28 .. Bens-MacBook-Pro:please benjaminhocking$ rm -rf empty_directory/ rm: empty_directory/: Directory not empty Bens-MacBook-Pro:please benjaminhocking$ rmdir empty_directory/ rmdir: empty_directory/: Directory not empty If I try the same thing using Finder (dragging the folder to the Trash), I get the message The operation can’t be completed because the item “empty_directory” is in use. I've tried doing xattr -d com.apple.quarantine, purely out of superstition, but it did no good. A probably important piece of context is that this directory was initially in a directory that should've been deleted by a "make clean" command I issued prior to Terminal locking up on me, after which a little over half of the other programs I had running also locked up, including Skype, and eventually the OS itself. I ended up having to reboot the computer by pressing and holding the power key. Edit to add: Another important piece of information I left off was that this was happening in an encrypted folder à la encfs. I was able to track down the corresponding folder in the encrypted side of things and delete it there. I still don't know why I couldn't do it from the decrypted side of things like I normally do. I'll leave this unanswered for now in case anyone has a good answer for that.

    Read the article

  • 553-Message filtered - HELO Name issue?

    - by g18c
    I am having major issues sending from my SBS2011 machine to Message labs server-13.tower-134.messagelabs.com #553-Message filtered. Refer to the Troubleshooting page at 553-http://www.symanteccloud.com/troubleshooting for more 553 information. (#5.7.1) ## I have changed the IP and hostnames from the below. I am not on any IP or domain blacklists. I have setup SPF (which includes mailchimp servers): v=spf1 mx a ip4:95.74.157.22/32 a:remote.mydomain.com include:servers.mcsv.net ~all I am sure i have setup my HELO names correctly under the Exchange Management console, sending a test email from the SBS server and looking at the header shows the following: X-Orig-To: [email protected] X-Originating-Ip: [95.74.157.22] Received: from [95.74.157.22] ([95.74.157.22:52194] helo=remote.mydomain.com) by smtp50.gate.ord1a.rsapps.net (envelope-from <[email protected]>) (ecelerity 2.2.3.49 r(42060/42061)) with ESMTP id 11/90-10010-E529C835; Mon, 02 Jun 2014 11:04:09 -0400 Received: from MYSBSSVR.mydomain.local ([fe80::3159:95a6:23f:1bef]) by MYSBSSVR.mydomain.local ([fe80::3159:95a6:23f:1bef%10]) with mapi id 14.01.0438.000; Mon, 2 Jun 2014 19:03:56 +0400 Is is the main helo name there OK and do i need to worry about the second Received block where the MYSBSVR.mydomain.local is mentioned? I have asked the ISP to set the reverse DNS for my IP to remote.mydomain.com but they have instead put remote.MYDOMAIN.com - would this case cause HELO lookups to classify this as not matching? Anything else I can do to find out why i am being filtered?

    Read the article

  • su not giving proper message for restricted LDAP groups

    - by user1743881
    I have configured PAM authentication on Linux box to restrict particular group only to login. I have enabled pam and ldap through authconfig and modified access.conf like below, [root@test root]# tail -1 /etc/security/access.conf - : ALL EXCEPT root test-auth : ALL Also modified sudoers file, to get su for this group <code> [root@test ~]# tail -1 /etc/sudoers %test-auth ALL=/bin/su</code> Now, only this ldap group members can login to system. However when from any of this authorized user, I tried for su, it asks for password and then though I enter correct password it gives message like Incorrect password and login failed. /var/log/secure shows that user is not having permission to get the access, but then it should print message like Access denied.The way it prints for console login. My functionality is working but its no giving proper messages. Could anyone please help on this. My /etc/pam.d/su file, [root@test root]# cat /etc/pam.d/su #%PAM-1.0 auth sufficient pam_rootok.so # Uncomment the following line to implicitly trust users in the "wheel" group. #auth sufficient pam_wheel.so trust use_uid # Uncomment the following line to require a user to be in the "wheel" group. #auth required pam_wheel.so use_uid auth include system-auth account sufficient pam_succeed_if.so uid = 0 use_uid quiet account include system-auth password include system-auth session include system-auth session optional pam_xauth.so

    Read the article

  • Ruby net:LDAP returns "code = 53 message = Unwilling to perform" error

    - by Yong
    Hi, I am getting this error "code = 53, message = Unwilling to perform" while I am traversing the eDirectory treebase = "ou=Users,o=MTC". My ruby script can read about 126 entries from eDirectory and then it stops and prints out this error. I do not have any clue of why this is happening. I am using the ruby net:LDAP library version 0.0.4. The following is an excerpt of the code. require 'rubygems' require 'net/ldap' ldap = Net::LDAP.new :host => "10.121.121.112", :port => 389, :auth => {:method => :simple, :username => "cn=abc,ou=Users,o=MTC", :password => "123" } filter = Net::LDAP::Filter.eq( "mail", "*mtc.ca.gov" ) treebase = "ou=Users,o=MTC" attrs = ["mail", "uid", "cn", "ou", "fullname"] i = 0 ldap.search( :base => treebase, :attributes => attrs, :filter => filter ) do |entry| puts "DN: #{entry.dn}" i += 1 entry.each do |attribute, values| puts " #{attribute}:" values.each do |value| puts " --->#{value}" end end end puts "Total #{i} entries found." p ldap.get_operation_result Here is the output and the error at the end. Thank you very much for your help. DN: cn=uvogle,ou=Users,o=MTC mail: --->[email protected] fullname: --->Ursula Vogler ou: --->Legislation and Public Affairs dn: --->cn=uvogle,ou=Users,o=MTC cn: --->uvogle Total 126 entries found. OpenStruct code=53, message="Unwilling to perform"

    Read the article

  • Outlook 2007 message formatting - pasted images

    - by Jack
    When you cut and past an image into a message window when composing a new email, the image will display as you would expect and formatting the image appears straight forward, However the pain happens when you click send. The recipient notices that the image will resize with the size of there outlook window. The original image size is ignored and no scrollbars appear. Howe do you stop this behaviour. When said image is pasted, say you want to place a graphic on top of the image such as an arrow. By using the ribbon, selecting the insert tab and choosing shapes, you go ahead and select the arrow shape and plonk it on to of the image, just where you want it, give it a nice colour and then send the email. As the recipient resizes there outlook message window, the image resizes but the shape remains where it was, now who wants that micros*a*ft! So, how do you A) make the shape resize with the image, so the shape stays where I put it in relation to the image, and b) stop the image resizing in the first place.

    Read the article

  • Dir all files to output.log, including message "File Not Found"

    - by user316687
    I'm trying to dir a bunch of files with dos command: dir My dir.bat file: dir E:\documentos\57\Asiento\01\"Asiento 3 Modificacion de Estatuto.doc" dir E:\documentos\134\Asiento\01\"File Does Not Exist.doc" dir E:\documentos\55\Asiento\01\"Asiento 5 Padron de Afiliados Segunda Entrega.doc" The second one doesn't exist. Then, when running my bat: C:\myuser>E:\dir.bat > output.log I open output.log and don't find any message about the file that was not found. Output.log : E:\documentos>dir E:\documentos\57\Asiento\01\"Asiento 3 Modificacion de Estatuto.doc" Volume in drive E is New Volume Volume Serial Number is 0027-F7F6 Directory of E:\documentos\57\Asiento\01 20/12/2005 06:41 p.m. 40,960 Asiento 3 Modificacion de Estatuto.doc 1 File(s) 40,960 bytes 0 Dir(s) 17,053,155,328 bytes free E:\documentos>dir E:\documentos\134\Asiento\01\"File Does Not Exist.doc" Volume in drive E is New Volume Volume Serial Number is 0027-F7F6 Directory of E:\documentos\134\Asiento\01 E:\documentos>dir E:\documentos\55\Asiento\01\"Asiento 5 Padron de Afiliados Segunda Entrega.doc" Volume in drive E is New Volume Volume Serial Number is 0027-F7F6 Directory of E:\documentos\55\Asiento\01 08/08/2007 08:33 a.m. 40,960 Asiento 5 Padron de Afiliados Segunda Entrega.doc 1 File(s) 40,960 bytes 0 Dir(s) 17,053,151,232 bytes free Is there any way that output.log shows "File Not Found" message?

    Read the article

  • Problems when pasting Outlook 2010 signature logo into message body

    - by Austin ''Danger'' Powers
    Whenever I paste my company logo into a message in Outlook 2010, I run into a variety of complications and anomalies. The dimensions of my original logo image are 315x174 (source image is a PNG file). I am scaling this image down in Photoshop CS6 to a variety of smaller sizes for testing my Outlook signature (300x166, 250x138, 200x110,150x83 and 100x55 pixels). 300x166 = no distortion. This looks the same as in Photoshop (but far too large to use in my signature). 250x130 = distorted (gets stretched much wider by Outlook when pasting into message body). 200x110 = looks reasonable, but seems to have been scaled to a different size (smaller) by Outlook for no obvious reason. 150x83 = for some reason, this is scaled by Outlook to the exact same size that 200x110 was scaled to. In fact, a large range of similar dimensions are scaled to the exact same image size by Outlook. This is very frustrating. Why is this happening and what can be done to prevent it? 100x55 = when pasting my logo from Photoshop to Outlook with these dimensions all that happens is the cursor jumps forwards about an inch on the screen, leaving a blank space where the image was supposed to go. Any advice would be much appreciated.

    Read the article

  • Game Messaging System Design

    - by you786
    I'm making a simple game, and have decided to try to implement a messaging system. The system basically looks like this: Entity generates message - message is posted to global message queue - messageManager notifies every object of the new message through onMessageReceived(Message msg) - if object wants, it acts on the message. The way I'm making message objects is like this: //base message class, never actually instantiated abstract class Message{ Entity sender; } PlayerDiedMessage extends Message{ int livesLeft; } Now my SoundManagerEntity can do something like this in its onMessageReceived() method public void messageReceived(Message msg){ if(msg instanceof PlayerDiedMessage){ PlayerDiedMessage diedMessage = (PlayerDiedMessage) msg; if(diedMessage.livesLeft == 0) playSound(SOUND_DEATH); } } The pros to this approach: Very simple and easy to implement The message can contain as much as information as you want, because you can just create a new Message subclass that has whatever info necessary. The cons: I can't figure out how I can recycle Message objects to a object pool, unless I have a different pool for each subclass of Message. So I have lots and lots of object creation/memory allocation over time. Can't send a message to a specific recipient, but I haven't needed that yet in my game so I don't mind it too much. What am I missing here? There must be a better implementation or some idea that I'm missing.

    Read the article

  • Threading across multiple files

    - by Zach M.
    My program is reading in files and using thread to compute the highest prime number, when I put a print statement into the getNum() function my numbers are printing out. However, it seems to just lag no matter how many threads I input. Each file has 1 million integers in it. Does anyone see something apparently wrong with my code? Basically the code is giving each thread 1000 integers to check before assigning a new thread. I am still a C noobie and am just learning the ropes of threading. My code is a mess right now because I have been switching things around constantly. #include <stdio.h> #include <stdlib.h> #include <time.h> #include <string.h> #include <pthread.h> #include <math.h> #include <semaphore.h> //Global variable declaration char *file1 = "primes1.txt"; char *file2 = "primes2.txt"; char *file3 = "primes3.txt"; char *file4 = "primes4.txt"; char *file5 = "primes5.txt"; char *file6 = "primes6.txt"; char *file7 = "primes7.txt"; char *file8 = "primes8.txt"; char *file9 = "primes9.txt"; char *file10 = "primes10.txt"; char **fn; //file name variable int numberOfThreads; int *highestPrime = NULL; int fileArrayNum = 0; int loop = 0; int currentFile = 0; sem_t semAccess; sem_t semAssign; int prime(int n)//check for prime number, return 1 for prime 0 for nonprime { int i; for(i = 2; i <= sqrt(n); i++) if(n % i == 0) return(0); return(1); } int getNum(FILE* file) { int number; char* tempS = malloc(20 *sizeof(char)); fgets(tempS, 20, file); tempS[strlen(tempS)-1] = '\0'; number = atoi(tempS); free(tempS);//free memory for later call return(number); } void* findPrimality(void *threadnum) //main thread function to find primes { int tNum = (int)threadnum; int checkNum; char *inUseFile = NULL; int x=1; FILE* file; while(currentFile < 10){ if(inUseFile == NULL){//inUseFIle being used to check if a file is still being read sem_wait(&semAccess);//critical section inUseFile = fn[currentFile]; sem_post(&semAssign); file = fopen(inUseFile, "r"); while(!feof(file)){ if(x % 1000 == 0 && tNum !=1){ //go for 1000 integers and then wait sem_wait(&semAssign); } checkNum = getNum(file); /* * * * * I think the issue is here * * * */ if(checkNum > highestPrime[tNum]){ if(prime(checkNum)){ highestPrime[tNum] = checkNum; } } x++; } fclose(file); inUseFile = NULL; } currentFile++; } } int main(int argc, char* argv[]) { if(argc != 2){ //checks for number of arguements being passed printf("To many ARGS\n"); return(-1); } else{//Sets thread cound to user input checking for correct number of threads numberOfThreads = atoi(argv[1]); if(numberOfThreads < 1 || numberOfThreads > 10){ printf("To many threads entered\n"); return(-1); } time_t preTime, postTime; //creating time variables int i; fn = malloc(10 * sizeof(char*)); //create file array and initialize fn[0] = file1; fn[1] = file2; fn[2] = file3; fn[3] = file4; fn[4] = file5; fn[5] = file6; fn[6] = file7; fn[7] = file8; fn[8] = file9; fn[9] = file10; sem_init(&semAccess, 0, 1); //initialize semaphores sem_init(&semAssign, 0, numberOfThreads); highestPrime = malloc(numberOfThreads * sizeof(int)); //create an array to store each threads highest number for(loop = 0; loop < numberOfThreads; loop++){//set initial values to 0 highestPrime[loop] = 0; } pthread_t calculationThread[numberOfThreads]; //thread to do the work preTime = time(NULL); //start the clock for(i = 0; i < numberOfThreads; i++){ pthread_create(&calculationThread[i], NULL, findPrimality, (void *)i); } for(i = 0; i < numberOfThreads; i++){ pthread_join(calculationThread[i], NULL); } for(i = 0; i < numberOfThreads; i++){ printf("this is a prime number: %d \n", highestPrime[i]); } postTime= time(NULL); printf("Wall time: %ld seconds\n", (long)(postTime - preTime)); } } Yes I am trying to find the highest number over all. So I have made some head way the last few hours, rescucturing the program as spudd said, currently I am getting a segmentation fault due to my use of structures, I am trying to save the largest individual primes in the struct while giving them the right indices. This is the revised code. So in short what the first thread is doing is creating all the threads and giving them access points to a very large integer array which they will go through and find prime numbers, I want to implement semaphores around the while loop so that while they are executing every 2000 lines or the end they update a global prime number. #include <stdio.h> #include <stdlib.h> #include <time.h> #include <string.h> #include <pthread.h> #include <math.h> #include <semaphore.h> //Global variable declaration char *file1 = "primes1.txt"; char *file2 = "primes2.txt"; char *file3 = "primes3.txt"; char *file4 = "primes4.txt"; char *file5 = "primes5.txt"; char *file6 = "primes6.txt"; char *file7 = "primes7.txt"; char *file8 = "primes8.txt"; char *file9 = "primes9.txt"; char *file10 = "primes10.txt"; int numberOfThreads; int entries[10000000]; int entryIndex = 0; int fileCount = 0; char** fileName; int largestPrimeNumber = 0; //Register functions int prime(int n); int getNum(FILE* file); void* findPrimality(void *threadNum); void* assign(void *num); typedef struct package{ int largestPrime; int startingIndex; int numberCount; }pack; //Beging main code block int main(int argc, char* argv[]) { if(argc != 2){ //checks for number of arguements being passed printf("To many threads!!\n"); return(-1); } else{ //Sets thread cound to user input checking for correct number of threads numberOfThreads = atoi(argv[1]); if(numberOfThreads < 1 || numberOfThreads > 10){ printf("To many threads entered\n"); return(-1); } int threadPointer[numberOfThreads]; //Pointer array to point to entries time_t preTime, postTime; //creating time variables int i; fileName = malloc(10 * sizeof(char*)); //create file array and initialize fileName[0] = file1; fileName[1] = file2; fileName[2] = file3; fileName[3] = file4; fileName[4] = file5; fileName[5] = file6; fileName[6] = file7; fileName[7] = file8; fileName[8] = file9; fileName[9] = file10; FILE* filereader; int currentNum; for(i = 0; i < 10; i++){ filereader = fopen(fileName[i], "r"); while(!feof(filereader)){ char* tempString = malloc(20 *sizeof(char)); fgets(tempString, 20, filereader); tempString[strlen(tempString)-1] = '\0'; entries[entryIndex] = atoi(tempString); entryIndex++; free(tempString); } } //sem_init(&semAccess, 0, 1); //initialize semaphores //sem_init(&semAssign, 0, numberOfThreads); time_t tPre, tPost; pthread_t coordinate; tPre = time(NULL); pthread_create(&coordinate, NULL, assign, (void**)numberOfThreads); pthread_join(coordinate, NULL); tPost = time(NULL); } } void* findPrime(void* pack_array) { pack* currentPack= pack_array; int lp = currentPack->largestPrime; int si = currentPack->startingIndex; int nc = currentPack->numberCount; int i; int j = 0; for(i = si; i < nc; i++){ while(j < 2000 || i == (nc-1)){ if(prime(entries[i])){ if(entries[i] > lp) lp = entries[i]; } j++; } } return (void*)currentPack; } void* assign(void* num) { int y = (int)num; int i; int count = 10000000/y; int finalCount = count + (10000000%y); int sIndex = 0; pack pack_array[(int)num]; pthread_t workers[numberOfThreads]; //thread to do the workers for(i = 0; i < y; i++){ if(i == (y-1)){ pack_array[i].largestPrime = 0; pack_array[i].startingIndex = sIndex; pack_array[i].numberCount = finalCount; } pack_array[i].largestPrime = 0; pack_array[i].startingIndex = sIndex; pack_array[i].numberCount = count; pthread_create(&workers[i], NULL, findPrime, (void *)&pack_array[i]); sIndex += count; } for(i = 0; i< y; i++) pthread_join(workers[i], NULL); } //Functions int prime(int n)//check for prime number, return 1 for prime 0 for nonprime { int i; for(i = 2; i <= sqrt(n); i++) if(n % i == 0) return(0); return(1); }

    Read the article

< Previous Page | 21 22 23 24 25 26 27 28 29 30 31 32  | Next Page >