X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fvnet%2Fvnet_host.c;h=459f6b7358e2888f04eabd0e4e9eb68f381cf025;hb=a5264d4dcf50d633e01e92dba62a5cf00c3bae2a;hp=c5d366a50890a5855ffa9b9a5c2d66a8d71a0258;hpb=f47bc5f7b2fa7169df0c618369224fffb12007b3;p=palacios.git diff --git a/palacios/src/vnet/vnet_host.c b/palacios/src/vnet/vnet_host.c index c5d366a..459f6b7 100644 --- a/palacios/src/vnet/vnet_host.c +++ b/palacios/src/vnet/vnet_host.c @@ -22,22 +22,16 @@ struct vnet_host_hooks * host_hooks; -int vnet_lock_init(vnet_lock_t * lock) { - if((host_hooks) && host_hooks->mutex_alloc){ - *lock = (addr_t)(host_hooks->mutex_alloc()); - - if (*lock) { - return 0; - } - } - - return -1; -} - - 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)); + + if (!thread) { + PrintError("Cannot allocate space to create a vnet thread\n"); + return NULL; + } + thread->host_thread = host_hooks->thread_start(func, arg, name); if(thread->host_thread){ @@ -50,13 +44,19 @@ struct vnet_thread * vnet_start_thread(int (*func)(void *), void *arg, char * na } - struct vnet_timer * vnet_create_timer(unsigned long interval, void (* timer_fun)(void * priv_data), void * priv_data){ if((host_hooks) && host_hooks->timer_create){ struct vnet_timer * timer = Vnet_Malloc(sizeof(struct vnet_timer)); + + if (!timer) { + PrintError("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; } @@ -71,7 +71,7 @@ void init_vnet(struct vnet_host_hooks * hooks){ void deinit_vnet(){ - host_hooks = NULL; v3_deinit_vnet(); + // host_hooks = NULL; }