X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fvnet%2Fvnet_host.c;h=c03e0fa4f30bf8f278ba741ab3ef3ffab70a5003;hb=de5c2110458436a9300aa0a171dbbe83e415ee4d;hp=b537e2af7bed3350402de6d7437783fc6752e403;hpb=571978c461dde2c69a559b909c11d5b1a25ef8a3;p=palacios.git diff --git a/palacios/src/vnet/vnet_host.c b/palacios/src/vnet/vnet_host.c index b537e2a..c03e0fa 100644 --- a/palacios/src/vnet/vnet_host.c +++ b/palacios/src/vnet/vnet_host.c @@ -24,8 +24,15 @@ struct vnet_host_hooks * host_hooks; struct vnet_thread * vnet_start_thread(int (*func)(void *), void *arg, char * name){ if((host_hooks) && host_hooks->thread_start){ + struct vnet_thread * thread = Vnet_Malloc(sizeof(struct vnet_thread)); - thread->host_thread = host_hooks->thread_start(func, arg, name); + + if (!thread) { + PrintError(VM_NONE, VCORE_NONE, "Cannot allocate space to create a vnet thread\n"); + return NULL; + } + + thread->host_thread = host_hooks->thread_start(func, arg, name, 0); if(thread->host_thread){ return thread; @@ -42,7 +49,14 @@ struct vnet_timer * vnet_create_timer(unsigned long interval, void * priv_data){ if((host_hooks) && host_hooks->timer_create){ struct vnet_timer * timer = Vnet_Malloc(sizeof(struct vnet_timer)); + + if (!timer) { + PrintError(VM_NONE, VCORE_NONE, "Cannot allocate space to create a vnet timer\n"); + return NULL; + } + timer->host_timer = host_hooks->timer_create(interval, timer_fun, priv_data); + return timer; }