コード例 #1
0
ファイル: jack_rack.c プロジェクト: mcfrisk/mlt
void
jack_rack_destroy (jack_rack_t * jack_rack)
{
  process_quit (jack_rack->procinfo);
  // plugin_mgr is shared and global now, so we do not destroy it with each instance
//  plugin_mgr_destroy (jack_rack->plugin_mgr);
  process_info_destroy (jack_rack->procinfo);
  g_slist_free (jack_rack->saved_plugins);
  g_free (jack_rack);
}
コード例 #2
0
ファイル: server.c プロジェクト: gentoolovers/embedded
int main(int argc, const char *argv[])
{

	int sockfd;
	int acceptfd;
	struct sockaddr_in serveraddr, clientaddr;
	char buf[N] = {};

	if(argc < 3)
	{
		fprintf(stderr, "Usage:%s serverip port.", argv[0]);
		return -1;
	}

	if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0)
	{
		err_log("fail to socket");
	}

	printf("sockfd = %d\n", sockfd);

	serveraddr.sin_family = AF_INET;
	serveraddr.sin_addr.s_addr = inet_addr(argv[1]);
	serveraddr.sin_port = htons(atoi(argv[2]));

	if(bind(sockfd, (struct sockaddr *)&serveraddr, sizeof(serveraddr)) < 0)
	{
		err_log("fail to bind");
	}

	if(listen(sockfd, 15) < 0)
	{
		err_log("fail to listen");
	}


	socklen_t addrlen = sizeof(struct sockaddr);

	while(1)
	{
		if((acceptfd = accept(sockfd, (struct sockaddr *)&clientaddr,&addrlen)) < 0)
		{
			err_log("fail to accept");
		}
		printf("acceptfd = %d\n", acceptfd);
		
		recv(acceptfd, buf, N, 0);

		switch(buf[0])
		{
		case 'L':
			process_list(acceptfd);
			break;
		case 'P':
			process_upload(acceptfd, buf+2);
			break;
		case 'G':  // G filename
			process_download(acceptfd,buf+2);
			break;
		case 'Q':
			process_quit();
			break;
		default:
			printf("Error cmd.\n");
		}

	}

	close(acceptfd);
	close(sockfd);

	return 0;
}