The UNIX and Linux Forums  
Hola y bienvenida de los Estados Unidos a la UNIX y Linux Foros! Gracias por su visita y formar parte de nuestra comunidad global.

Go Back   El UNIX y Linux Foros > Sistema Operativo > HP-UX
.
google unix.com



HP-UX HP-UX (Hewlett Packard Unix) de Hewlett-Packard es la aplicación de la propiedad del sistema operativo Unix, basado en System V.

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
Evitar duplicados en un archivo pssandeep UNIX for Dummies Preguntas y Respuestas 7 03-26-2008 06:36 AM
AWK: ¿Cómo evitar Sistema sandeep_hi Programación de scripts de shell y 0 06-23-2006 06:01 AM
¿Cómo evitar historying mi comando ting123 UNIX for Dummies Preguntas y Respuestas 2 05-06-2006 04:58 AM
Evitar el spam en el pino? a25khan UNIX for Dummies Preguntas y Respuestas 1 12-13-2003 10:50 AM
la forma de bloquear el teclado sin usar comandos de bloqueo dianayun UNIX for Dummies Preguntas y Respuestas 7 06-21-2002 06:05 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 02-03-2008
Frank2004 Frank2004 is offline
Usuario Registrado
  
 

Fecha: junio 2004
Ubicación: Beijing, China
Puestos: 54
semphore evitar el bloqueo

hemos desarrollado un conjunto de sistema de V semphore interfaz de nuestra aplicación, en general, todos ellos de trabajo normal, rara vez causa el estancamiento. Aquí están algunas importantes sem_wait y sem_post interfaz, pls alguna sugerencia a punto fijo el punto muerto problema:
Código:
int sem_wait_V(int id, struct sembuf  *sem_pv)
{

  sem_pv = new struct sembuf [1] ;

  if (sem_op(id,-1, sem_pv)<0)
    {
         delete sem_pv ;
     return -1;
    }

  delete sem_pv ;
 


  return 0;
}






int sem_post_V(int id, int sem_post_value_V, struct sembuf  *sem_pv)
{

 if ((sem_post_value_V = semctl(id,0,GETVAL,0)) <0)
	{
       	return -1; 
     	}
 if( sem_post_value_V > SEM_POST_LIMIT )
	{
	if( sem_post_value_V == SEM_POST_LIMIT + 1 )	return -1 ;
	return -1 ;
	}

 sem_pv = new struct sembuf [1] ; 
 
 if (sem_op(id,1,sem_pv)<0)
    {
     delete sem_pv ;
     return -1;
    }

 delete sem_pv ;

 return 0;
}



int sem_op(int id,int value, struct sembuf sem_pv[1] )
{
  int sem_value ,sem_value1; 


  sem_pv[0].sem_num = 0 ;
  sem_pv[0].sem_flg = 0 ;

  if ((sem_pv[0].sem_op =value) == 0)
	{
	printf("sem_op error: operator is zero !!!!!!!(%d)\n",id) ;
        return -1;
	}

if ((sem_value = semctl(id,0,GETVAL,0)) <0)
     		{
        	perror("semctl create GETVAL");
                return -1;
     		}

 again:;
  if (semop(id,&sem_pv[0],1)<0)
        {
         sched_yield() ;
         if(errno==EINTR) 
          {
                	if ((sem_value1 = semctl(id,0,GETVAL,0)) <0)
     	                	{
        	                   perror("semctl create GETVAL");
                                   return -1;
     		                }
                           else
                             {
                                 if (sem_value != sem_value1 )
                                     return -1;
                                  else
                                     goto again;
                            }
           }
         return -1;
        }    

  return  1;

}

Última edición por Frank2004; al 02-03-2008 11:06 PM..
  #2 (Enlace permanente)  
Old 03-10-2009
Frank2004 Frank2004 is offline
Usuario Registrado
  
 

Fecha: junio 2004
Ubicación: Beijing, China
Puestos: 54
Espero respuesta, gracias.
Closed Thread

Marcadores

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Apagado
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 03:45 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0