structthread__args.tex 5.28 KB
\hypertarget{structthread__args}{\section{Referencia de la Estructura thread\-\_\-args}
\label{structthread__args}\index{thread\-\_\-args@{thread\-\_\-args}}
}


Argumentos de los threads.  




{\ttfamily \#include $<$server.\-h$>$}

\subsection*{Atributos públicos}
\begin{DoxyCompactItemize}
\item 
pthread\-\_\-mutex\-\_\-t $\ast$ \hyperlink{structthread__args_ad5d64499f5f6e2df467c96b52a94c520}{mutex}
\begin{DoxyCompactList}\small\item\em Variable de control de la exclusión mútua entre threads. \end{DoxyCompactList}\item 
pthread\-\_\-cond\-\_\-t $\ast$ \hyperlink{structthread__args_a96ee28beaed4175257db3d8794245f25}{condition}
\begin{DoxyCompactList}\small\item\em Variable de notificación a otros threads. \end{DoxyCompactList}\item 
pthread\-\_\-t $\ast$ \hyperlink{structthread__args_acdcd2db4307e5e75d5110067e196a70e}{thread}
\begin{DoxyCompactList}\small\item\em Puntero al thread. \end{DoxyCompactList}\item 
\hyperlink{class_socket}{Socket} $\ast$ \hyperlink{structthread__args_aede3ef61778d02bdf25c368d1cf9d489}{s}
\begin{DoxyCompactList}\small\item\em Puntero al socket. \end{DoxyCompactList}\item 
\hyperlink{class_server}{Server} $\ast$ \hyperlink{structthread__args_ab29508135b033282f374d0fb47028fbd}{serv}
\begin{DoxyCompactList}\small\item\em Puntero al servidor. \end{DoxyCompactList}\item 
int \hyperlink{structthread__args_a6322b3468fd88f8f49977a6439e9f352}{id}
\begin{DoxyCompactList}\small\item\em I\-D del thread. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Descripción detallada}
Argumentos de los threads. 

Este struct define los argumentos que recibe un thread abierto por la aplicación servidor al recibir una conexión entrante \begin{DoxyAuthor}{Autor}
Imanol Barba Sabariego 
\end{DoxyAuthor}
\begin{DoxyDate}{Fecha}
11/06/2013 
\end{DoxyDate}


\subsection{Documentación de los datos miembro}
\hypertarget{structthread__args_a96ee28beaed4175257db3d8794245f25}{\index{thread\-\_\-args@{thread\-\_\-args}!condition@{condition}}
\index{condition@{condition}!thread_args@{thread\-\_\-args}}
\subsubsection[{condition}]{\setlength{\rightskip}{0pt plus 5cm}pthread\-\_\-cond\-\_\-t$\ast$ thread\-\_\-args\-::condition}}\label{structthread__args_a96ee28beaed4175257db3d8794245f25}


Variable de notificación a otros threads. 

Esta variable se usa para notificar a otros threads cuando deben realizar otras acciones.

Actualmente se usa para notificar al thread principal cuando el thread que lo invoca ha terminado, en caso de que el principal haya quedado bloqueado y no admita más conexiones.$\ast$ \hypertarget{structthread__args_a6322b3468fd88f8f49977a6439e9f352}{\index{thread\-\_\-args@{thread\-\_\-args}!id@{id}}
\index{id@{id}!thread_args@{thread\-\_\-args}}
\subsubsection[{id}]{\setlength{\rightskip}{0pt plus 5cm}int thread\-\_\-args\-::id}}\label{structthread__args_a6322b3468fd88f8f49977a6439e9f352}


I\-D del thread. 

Identifica al thread con un I\-D único \hypertarget{structthread__args_ad5d64499f5f6e2df467c96b52a94c520}{\index{thread\-\_\-args@{thread\-\_\-args}!mutex@{mutex}}
\index{mutex@{mutex}!thread_args@{thread\-\_\-args}}
\subsubsection[{mutex}]{\setlength{\rightskip}{0pt plus 5cm}pthread\-\_\-mutex\-\_\-t$\ast$ thread\-\_\-args\-::mutex}}\label{structthread__args_ad5d64499f5f6e2df467c96b52a94c520}


Variable de control de la exclusión mútua entre threads. 

Esta variable se usa para bloquear otros threads en operaciones de exclusion mútua donde se modifican variables compartidas \hypertarget{structthread__args_aede3ef61778d02bdf25c368d1cf9d489}{\index{thread\-\_\-args@{thread\-\_\-args}!s@{s}}
\index{s@{s}!thread_args@{thread\-\_\-args}}
\subsubsection[{s}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Socket}$\ast$ thread\-\_\-args\-::s}}\label{structthread__args_aede3ef61778d02bdf25c368d1cf9d489}


Puntero al socket. 

Esta variable representa el puntero al socket que proviene de la conexión entrante recibida por el servidor. Con este, el thread puede recibir y enviar los datos. \hypertarget{structthread__args_ab29508135b033282f374d0fb47028fbd}{\index{thread\-\_\-args@{thread\-\_\-args}!serv@{serv}}
\index{serv@{serv}!thread_args@{thread\-\_\-args}}
\subsubsection[{serv}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Server}$\ast$ thread\-\_\-args\-::serv}}\label{structthread__args_ab29508135b033282f374d0fb47028fbd}


Puntero al servidor. 

Esta variable representa el puntero al servidor de la aplicación. Con este puntero, los threads se mueven a la pila de threads terminados una vez terminan la ejecución para que el thread principal (el propio servidor), vaya liberando la memoria asignada. \hypertarget{structthread__args_acdcd2db4307e5e75d5110067e196a70e}{\index{thread\-\_\-args@{thread\-\_\-args}!thread@{thread}}
\index{thread@{thread}!thread_args@{thread\-\_\-args}}
\subsubsection[{thread}]{\setlength{\rightskip}{0pt plus 5cm}pthread\-\_\-t$\ast$ thread\-\_\-args\-::thread}}\label{structthread__args_acdcd2db4307e5e75d5110067e196a70e}


Puntero al thread. 

Esta variable representa el puntero del propio thread. Al finalizar, este enviará su puntero a la lista de threads terminados, donde la memoria asignada al thread se destruirá. 

La documentación para esta estructura fue generada a partir del siguiente fichero\-:\begin{DoxyCompactItemize}
\item 
/home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/include/\hyperlink{server_8h}{server.\-h}\end{DoxyCompactItemize}