It is currently Tue Feb 07, 2012 9:05 pm

All times are UTC



Welcome
Welcome to RHAPSODY4YOU

You are currently viewing our boards as a guest, which gives you limited access to view most discussions and access our other features. By joining our free community, you will have access to post topics, respond to polls, upload and download content, and access many other special features. Registration is fast, simple, and absolutely free, so please, register to join our community today.





 Page 1 of 1 [ 2 posts ] 
Author Message
 Post subject: port problem in 7.5
PostPosted: Wed Nov 18, 2009 2:03 pm 

Joined: Tue Sep 29, 2009 8:36 am
Posts: 1
Project was created with 7.2 then upgraded to 7.5. The problem is, when u send from a port to a port includes more than one event, it randomly crashes. I have compared the codes between generated by 7.2 and generated by 7.5, Here is the diff:

7.2 :
bool Receiver::port_rcv_C::InBound_C::send(IOxfEvent* event, const IOxfEventGenerationParams& params) {
    //#[ operation send(IOxfEvent*,const IOxfEventGenerationParams&)
    bool res = false;
    if (event != NULL) {
        event->setPort(getPort());
        if (itsInterfaceA != NULL) {
            if (event->isTypeOf(evB1_Default_id)) {
                res = itsInterfaceA->send(event, params);
                return res;
            }
        }
        if (itsInterfaceB != NULL) {
            if (event->isTypeOf(evB2_Default_id)) {
                res = itsInterfaceB->send(event, params);
                return res;
            }
        }
    }
    return res;
   
    //#]
}


7.5 :
bool Receiver::port_rcv_C::InBound_C::send(IOxfEvent* event, const IOxfEventGenerationParams& params) {
    //#[ operation send(IOxfEvent*,const IOxfEventGenerationParams&)
    bool res = false;
    if (event != NULL) {
        event->setPort(getPort());
        if (itsInterfaceA != NULL) {
            if (event->isTypeOf(evB1_Default_id)) {
                res = itsInterfaceA->send(event, params);
               
            }
        }
        if (itsInterfaceB != NULL) {
            if (event->isTypeOf(evB2_Default_id)) {
                res = itsInterfaceB->send(event, params);
               
            }
        }
    }
    return res;
   
    //#]
}


The differences are the return res; parts in the if states.

By the way, when run with 7.5, in the first if state, it deletes the event and crashes in the 2nd if state. Has anyone meet and solved the problem? How to force rhapsody to generate the if statements with else if at least? Finally the platform is Windows and there is no crash issue in vxworks.


Offline
 Profile  
 
 Post subject: Re: port problem in 7.5
PostPosted: Thu Nov 19, 2009 11:03 am 

Joined: Thu Aug 30, 2007 4:31 pm
Posts: 152
Location: Germany
have you read the upgrade guide ... before porting it to 7.5 ?
anyway if it ceahses you should send it to IBM support


Offline
 Profile  
 
Display posts from previous:  Sort by  
 Page 1 of 1 [ 2 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:


suspicion-preferred