Esempio n. 1
0
void SkiLift::occupiedLiftSeatsPrinter_nc(){
	string str="Zajete miejsca";
	int y,x;
	switch (liftID)
	{
		case LIFT_A:
			y=13;
			x=45;
			break;
		case LIFT_B:
			y=4;
			x=41;
			break;
		case LIFT_C:
			y=4;
			x=20;
			break;
	}
	print_ts(y,x,str.c_str());
	x+=str.size()/2;
	y++;
	str="";
	unique_lock<mutex> lk(occupiedLiftSeatsPrinter_mutex);
	for(;;){
		cv_occupiedSeats_printer_nc.wait(lk);
		clr_line_ts(y,x,str.size());
		str=to_string(liftingSkiiersCount);
		print_ts(y,x,str.c_str());
	}
}
Esempio n. 2
0
void SkiLift::queuePrinter_nc(){
	string str="Kolejka:";
	int y,x;
	switch (liftID)
	{
		case LIFT_A:
			y=18;
			x=30;
			break;
		case LIFT_B:
			y=9;
			x=60;
			break;
		case LIFT_C:
			y=9;
			x=5;
			break;
	}
	print_ts(y,x,str.c_str());
	x+=str.size();
	str="";
	unique_lock<mutex> lk(queuePrinter_mutex);
	for(;;){
		cv_queue_printer_nc.wait(lk);
		clr_line_ts(y,x,str.size());
		str=to_string(_queue.size());
		print_ts(y,x,str.c_str());
	}
}
Esempio n. 3
0
void read_sup (parser_state_t *ps)
{
	sup_header_t h;

	safe_read(&h, sizeof(h), ps->fh, "PG header");
	conv_sup_header(&h);

	if (h.m1 != 80 || h.m2 != 71)
		die(ps->fh, sizeof(h), "Invalid PG header.");

	printf("Packet at 0x%08x:\nstart_time = ", (unsigned int)(ftell(ps->fh) - sizeof(h)));
	print_ts(h.start_time);
	printf("\ndts        = ");
	print_ts(h.dts);
	printf("\ntype       = 0x%02X\n", h.packet_type);
	printf("length     = %u\n", h.packet_len);
	switch (h.packet_type)
	{
		case 0x14:
			read_palette(ps, h);
			break;
		case 0x15:
			read_odsf(ps, h);
			break;
		case 0x16:
			switch (h.packet_len)
			{
				case 11:
					read_pcs_end(ps, h);
					break;
				case 19:
				case 27:
					read_pcs_start(ps, h);
					break;
				default:
					die(ps->fh, sizeof(h), "Invalid PCS size.");
			}
			break;
		case 0x17:
			read_wds(ps, h);
			break;
		case 0x80:
			if (h.packet_len == 0)
				printf("Marker\n");
			else
				die(ps->fh, sizeof(h), "Marker with payload.");
			break;
		default:
			die(ps->fh, sizeof(h), "Unknown packet type.");
	}

	printf("\n");
}
Esempio n. 4
0
void SkiLift::awaitingForBusPrinter_nc()
{
	string str=":";
	int y=19,x=38;
	print_ts(y,x,str.c_str());
	x+=str.size();
	unique_lock<mutex> lk(awaitingForBusPrinter_mutex);
	for(;;){
		cv_awaitingForBus_printer_nc.wait(lk);
		clr_line_ts(y,x,str.size());
		str=to_string(awaitingForBus);
		print_ts(y,x,str.c_str());
	}
};
Esempio n. 5
0
File: log.c Progetto: cyrillos/criu
void vprint_on_level(unsigned int loglevel, const char *format, va_list params)
{
	int fd, size, ret, off = 0;
	int __errno = errno;

	if (unlikely(loglevel == LOG_MSG)) {
		fd = STDOUT_FILENO;
		off = buf_off; /* skip dangling timestamp */
	} else {
		if (loglevel > current_loglevel)
			return;
		fd = log_get_fd();
		if (current_loglevel >= LOG_TIMESTAMP)
			print_ts();
	}

	size  = vsnprintf(buffer + buf_off, sizeof buffer - buf_off, format, params);
	size += buf_off;

	while (off < size) {
		ret = write(fd, buffer + off, size - off);
		if (ret <= 0)
			break;
		off += ret;
	}

	if (loglevel == LOG_ERROR)
		log_note_err(buffer + buf_off);

	errno =  __errno;
}
Esempio n. 6
0
File: log.c Progetto: avagin/crtools
static void __print_on_level(unsigned int loglevel, const char *format, va_list params)
{
	int fd, size, ret, off;

	if (unlikely(loglevel == LOG_MSG)) {
		fd = STDOUT_FILENO;
		off = buf_off;
	} else {
		if (loglevel > current_loglevel)
			return;
		fd = log_get_fd();
		print_ts();
		off = 0;
	}

	size  = vsnprintf(buffer + buf_off, PAGE_SIZE - buf_off, format, params);
	size += buf_off;

	while (off < size) {
		ret = write(fd, buffer + off, size - off);
		if (ret <= 0)
			break;
		off += ret;
	}
}
Esempio n. 7
0
	void City::skiersAmountPrinter_nc()
	{
		int y=23,x=36;
		string buffor=":";
		print_ts(y,x,buffor.c_str());
		x++;
		buffor="";
		unique_lock<mutex> lk(skiersAmountPrinter_mutex);
		for(;;)
		{
			cv_skiersAmountPrinter.wait(lk);
			clr_line_ts(y,x,buffor.size());
			buffor=to_string(awaitingSkiers);
			print_ts(y,x,buffor.c_str());
			
		}
	}
Esempio n. 8
0
int
main(void)
{
	static const char fname[] = "utimensat\nfilename";

	assert(utimensat(AT_FDCWD, fname, NULL, 0) == -1);
	if (ENOENT != errno)
		error_msg_and_skip("utimensat");

	#define PREFIX "utimensat(AT_FDCWD, \"utimensat\\nfilename\", "
	printf(PREFIX "NULL, 0) = -1 ENOENT (%m)\n");

	struct timeval tv;
	struct timespec ts[2];

	if (gettimeofday(&tv, NULL))
		perror_msg_and_skip("gettimeofday");

	ts[0].tv_sec = tv.tv_sec;
	ts[0].tv_nsec = tv.tv_usec;
	ts[1].tv_sec = tv.tv_sec - 1;
	ts[1].tv_nsec = tv.tv_usec + 1;

	printf(PREFIX "[");
	print_ts(&ts[0]);
	printf(", ");
	print_ts(&ts[1]);
	printf("], AT_SYMLINK_NOFOLLOW) = -1 ENOENT ");

	assert(utimensat(AT_FDCWD, fname, ts, AT_SYMLINK_NOFOLLOW) == -1);
	if (ENOENT != errno)
		error_msg_and_skip("utimensat");
	printf("(%m)\n");

	ts[0].tv_nsec = UTIME_NOW;
	ts[1].tv_nsec = UTIME_OMIT;
	assert(utimensat(AT_FDCWD, fname, ts, AT_SYMLINK_NOFOLLOW) == -1);
	if (ENOENT != errno)
		error_msg_and_skip("utimensat");
	printf(PREFIX "[UTIME_NOW, UTIME_OMIT], AT_SYMLINK_NOFOLLOW)"
	       " = -1 ENOENT (%m)\n");

	puts("+++ exited with 0 +++");
	return 0;
}
int
main(void)
{
	static const kernel_ulong_t bogus_fd =
		(kernel_ulong_t) 0xbadc0deddeadbeef;
	static const kernel_ulong_t kfdcwd =
		(kernel_ulong_t) 0xdefaced00000000 | -100U;
	static const char proto_fname[] = "utimensat\nfilename";
	static const char qname[] = "\"utimensat\\nfilename\"";

	char *const fname = tail_memdup(proto_fname, sizeof(proto_fname));
	const kernel_ulong_t kfname = (uintptr_t) fname;
	struct timespec *const ts = tail_alloc(sizeof(*ts) * 2);

	(void) close(0);

	/* dirfd */
	k_utimensat(0, kfname, 0, 0);
	printf("utimensat(0, %s, NULL, 0) = %s\n", qname, errstr);

	k_utimensat(bogus_fd, kfname, 0, 0);
	printf("utimensat(%d, %s, NULL, 0) = %s\n",
	       (int) bogus_fd, qname, errstr);

	k_utimensat(-100U, kfname, 0, 0);
	printf("utimensat(" str_at_fdcwd ", %s, NULL, 0) = %s\n", qname, errstr);

	k_utimensat(kfdcwd, kfname, 0, 0);
	printf("utimensat(" str_at_fdcwd ", %s, NULL, 0) = %s\n", qname, errstr);

	/* pathname */
	k_utimensat(kfdcwd, 0, 0, 0);
	printf("utimensat(" str_at_fdcwd ", NULL, NULL, 0) = %s\n", errstr);

	k_utimensat(kfdcwd, kfname + sizeof(proto_fname) - 1, 0, 0);
	printf("utimensat(" str_at_fdcwd ", \"\", NULL, 0) = %s\n", errstr);

	fname[sizeof(proto_fname) - 1] = '+';
	k_utimensat(kfdcwd, kfname, 0, 0);
	fname[sizeof(proto_fname) - 1] = '\0';
	printf("utimensat(" str_at_fdcwd ", %p, NULL, 0) = %s\n", fname, errstr);

	if (F8ILL_KULONG_SUPPORTED) {
		k_utimensat(kfdcwd, f8ill_ptr_to_kulong(fname), 0, 0);
		printf("utimensat(" str_at_fdcwd ", %#jx, NULL, 0) = %s\n",
		       (uintmax_t) f8ill_ptr_to_kulong(fname), errstr);
	}

	/* times */
	k_utimensat(kfdcwd, kfname, (uintptr_t) (ts + 1), 0);
	printf("utimensat(" str_at_fdcwd ", %s, %p, 0) = %s\n",
	       qname, ts + 1, errstr);

	k_utimensat(kfdcwd, kfname, (uintptr_t) (ts + 2), 0);
	printf("utimensat(" str_at_fdcwd ", %s, %p, 0)"
	       " = %s\n", qname, ts + 2, errstr);

	ts[0].tv_sec = 1492358706;
	ts[0].tv_nsec = 123456789;
	ts[1].tv_sec = 1492357068;
	ts[1].tv_nsec = 234567890;

	k_utimensat(kfdcwd, kfname, (uintptr_t) ts, 0x100);
	printf("utimensat(" str_at_fdcwd ", %s, [", qname);
	print_ts(&ts[0]);
	printf(", ");
	print_ts(&ts[1]);
	printf("], " str_at_symlink_nofollow ") = %s\n", errstr);

	ts[0].tv_sec = -1;
	ts[0].tv_nsec = 2000000000;
	ts[1].tv_sec = (time_t) -0x100000001LL;
	ts[1].tv_nsec = 2345678900U;

	k_utimensat(kfdcwd, kfname, (uintptr_t) ts, 0x100);
	printf("utimensat(" str_at_fdcwd ", %s, [", qname);
	print_ts(&ts[0]);
	printf(", ");
	print_ts(&ts[1]);
	printf("], " str_at_symlink_nofollow ") = %s\n", errstr);

	ts[0].tv_sec = 0;
	ts[0].tv_nsec = 0;
	ts[1].tv_sec = (time_t) 0xcafef00ddeadbeefLL;
	ts[1].tv_nsec = 0;

	k_utimensat(kfdcwd, kfname, (uintptr_t) ts, 0x100);
	printf("utimensat(" str_at_fdcwd ", %s, [", qname);
	print_ts(&ts[0]);
	printf(", ");
	print_ts(&ts[1]);
	printf("], " str_at_symlink_nofollow ") = %s\n", errstr);

	ts[0].tv_sec = 0xdeadbeefU;
	ts[0].tv_nsec = 0xfacefeedU;
	ts[1].tv_sec = (time_t) 0xcafef00ddeadbeefLL;
	ts[1].tv_nsec = (long) 0xbadc0dedfacefeedLL;

	k_utimensat(kfdcwd, kfname, (uintptr_t) ts, 0x100);
	printf("utimensat(" str_at_fdcwd ", %s, [", qname);
	print_ts(&ts[0]);
	printf(", ");
	print_ts(&ts[1]);
	printf("], " str_at_symlink_nofollow ") = %s\n", errstr);

	ts[0].tv_nsec = UTIME_NOW;
	ts[1].tv_nsec = UTIME_OMIT;
	k_utimensat(kfdcwd, kfname, (uintptr_t) ts, 0x100);
	printf("utimensat(" str_at_fdcwd ", %s, " str_utime_now_omit
	       ", " str_at_symlink_nofollow ") = %s\n", qname, errstr);

	if (F8ILL_KULONG_SUPPORTED) {
		k_utimensat(kfdcwd, kfname, f8ill_ptr_to_kulong(ts), 0);
		printf("utimensat(" str_at_fdcwd ", %s, %#jx, 0) = %s\n",
		       qname, (uintmax_t) f8ill_ptr_to_kulong(ts), errstr);
	}

	/* flags */
	k_utimensat(kfdcwd, kfname, (uintptr_t) ts,
		    (kernel_ulong_t) 0xdefaced00000200);
	printf("utimensat(" str_at_fdcwd ", %s, " str_utime_now_omit
	       ", " str_at_removedir ") = %s\n",
	       qname, errstr);

	k_utimensat(kfdcwd, kfname, (uintptr_t) ts,
		    (kernel_ulong_t) 0xdefaced00000600);
	printf("utimensat(" str_at_fdcwd ", %s, " str_utime_now_omit
	       ", " str_flags1 ") = %s\n",
	       qname, errstr);

	k_utimensat(kfdcwd, kfname, (uintptr_t) ts, (kernel_ulong_t) -1ULL);
	printf("utimensat(" str_at_fdcwd ", %s, " str_utime_now_omit
	       ", " str_flags2 ") = %s\n",
	       qname, errstr);

	puts("+++ exited with 0 +++");
	return 0;
}