|
@@ -17,7 +17,6 @@
|
|
|
// MYCO unlock: Allows read access again.
|
|
|
|
|
|
int main() {
|
|
|
- /*
|
|
|
// At the beginning every agent needs to register itself with the agent server.
|
|
|
char *agent_name = "MYAGENT2";
|
|
|
int agent_message_queue_id;
|
|
@@ -25,52 +24,48 @@ int main() {
|
|
|
|
|
|
// MYCO create
|
|
|
// #MYCO create("RESOURCE_2", 1024, transactional)
|
|
|
+ char *resource_name_2 = "RESOURCE_2";
|
|
|
int resource_size_2 = 1024;
|
|
|
- int *resource_pointer_2;
|
|
|
- resource_pointer_2 = myco_malloc(resource_size_2);
|
|
|
- myco_agent_register_resource(agent_message_queue_id, agent_name, "RESOURCE_2", RESOURCE_TRANSACTIONAL, getpid(), resource_size_2, resource_pointer_2);
|
|
|
+ void *resource_pointer_2 = myco_agent_register_resource(agent_message_queue_id, agent_name, resource_name_2, RESOURCE_TRANSACTIONAL, getpid(), resource_size_2);
|
|
|
|
|
|
// Put some random numbers into RESOURCE_2
|
|
|
int i;
|
|
|
srand(time(NULL));
|
|
|
for (i=0; i < resource_size_2/sizeof(int); i++) {
|
|
|
- resource_pointer_2[i] = rand();
|
|
|
+ ((int *)resource_pointer_2)[i] = rand();
|
|
|
}
|
|
|
- printf("The first integer of RESOURCE_2 is: %d\n", resource_pointer_2[0]);
|
|
|
+ printf("The first integer of RESOURCE_2 is: %d\n", ((int *)resource_pointer_2)[0]);
|
|
|
|
|
|
// MYCO release
|
|
|
- myco_agent_release_resource(agent_message_queue_id, "RESOURCE_2");
|
|
|
+ myco_agent_release_resource(agent_message_queue_id, resource_name_2, resource_pointer_2, resource_size_2);
|
|
|
|
|
|
// MYCO create
|
|
|
- // #MYCO create("RESOURCE_2", 1024, nottransactional)
|
|
|
+ // #MYCO create("RESOURCE_3", 1024, nottransactional)
|
|
|
+ char *resource_name_3 = "RESOURCE_3";
|
|
|
int resource_size_3 = 1024;
|
|
|
- int *resource_pointer_3;
|
|
|
- resource_pointer_3 = myco_malloc(resource_size_3);
|
|
|
- myco_agent_register_resource(agent_message_queue_id, agent_name, "RESOURCE_3", RESOURCE_NOT_TRANSACTIONAL, getpid(), resource_size_3, resource_pointer_3);
|
|
|
+ void *resource_pointer_3 = myco_agent_register_resource(agent_message_queue_id, agent_name, resource_name_3, RESOURCE_TRANSACTIONAL, getpid(), resource_size_3);
|
|
|
|
|
|
// Put some random numbers into RESOURCE_3
|
|
|
- for (i=0; i < resource_size_3/sizeof(int); i++) {
|
|
|
- resource_pointer_3[i] = rand();
|
|
|
+ int j;
|
|
|
+ for (j=0; j < resource_size_3/sizeof(int); j++) {
|
|
|
+ ((int*)resource_pointer_3)[j] = rand();
|
|
|
}
|
|
|
- printf("The first integer of RESOURCE_3 is: %d\n", resource_pointer_3[0]);
|
|
|
+ printf("The first integer of RESOURCE_3 is: %d\n", ((int*)resource_pointer_3)[0]);
|
|
|
|
|
|
// Sleep, so the showcase program can request RESOURCE_2 and read/push RESOURCE_3
|
|
|
sleep(30);
|
|
|
|
|
|
// MYCO free
|
|
|
// #MYCO free("RESOURCE_2")
|
|
|
- myco_agent_unregister_resource(agent_message_queue_id, "RESOURCE_2");
|
|
|
- myco_free(resource_pointer_2);
|
|
|
+ myco_agent_unregister_resource(agent_message_queue_id, resource_name_2);
|
|
|
|
|
|
// MYCO free
|
|
|
// #MYCO free("RESOURCE_3")
|
|
|
- myco_agent_unregister_resource(agent_message_queue_id, "RESOURCE_3");
|
|
|
- myco_free(resource_pointer_3);
|
|
|
+ myco_agent_unregister_resource(agent_message_queue_id, resource_name_3);
|
|
|
|
|
|
|
|
|
// At the end of its runtime the agent unregisters with the agent.
|
|
|
myco_agent_unregister(agent_name, agent_message_queue_id);
|
|
|
- */
|
|
|
|
|
|
return EXIT_SUCCESS;
|
|
|
}
|