示例#1
0
文件: Compiler.cpp 项目: Pawel91/Thot
Bool CCompiler::RunPreCompileStep( )
{
    CL_TRACE("Enter CCompiler::RunPreCompileStep");

    //if( !CopyCppFile() )
    //{
    //    CL_ERROR("failed to copy cpp files");
    //    return false;
    //}
    if( !CopySourceCode( m_sourceCodeToCompile ) )
    {
        CL_ERROR("failed to copy source");
        return false;
    }

    // delete output file to have a clean compile log
    CPath::DeleteFile( m_compilerOutputFile );  

    CString pathToSettupBat;
    if( !ThGetEnvVariable(ms_vsEnvToolsVar, pathToSettupBat) )
    {
        CL_ERROR("failed to get path to settup bat from env variable:[%s]", ms_vsEnvToolsVar );
        return false;
    }

    CString vsSettupCommand =  "call \"" + pathToSettupBat + ms_vsSetupBat + "\"";

    if( !RunCommand(vsSettupCommand) )
    {
        return false;        
    }

    return true;
}
示例#2
0
void smts_client_send_preview_res(smts_client_t *client, int status)
{
	int r = status;
	if (client->status == SMTS_CLIENT_ON_INIT) {
		preview_cmd_res_t *preview_res = (preview_cmd_res_t*) malloc(sizeof(preview_cmd_res_t));
		preview_cmd_res_t_init(preview_res);
		preview_res->status = r;
		preview_res->Hue = 0;
		preview_res->brightness = 0;
		preview_res->contrast = 0;
		preview_res->saturation = 0;
//		preview_cmd_res_t_bufs_alloc(preview_res);
		proto_cmd_t_encode((abstract_cmd_t*) preview_res);
		client->status = SMTS_CLIENT_ON_SEND_PREVIEW_RES; // to avoid repeat send preview response
		r = tcp_client_send_msg((abstract_tcp_client_t*) client, (abstract_cmd_t*) preview_res,
				on_smts_client_send_preview_res_cb_slient);
		if (r != 0) {
			CL_ERROR("send preview res error:%d,%s.\n", r, smts_strerror(r));
			proto_cmd_t_destroy((abstract_cmd_t*) preview_res);
			//TODO: send error;
		}
	}
	if (r != 0) {
		CL_ERROR("send preview response error:%d,%s\n", r, smts_strerror(r));
		stop_smts_client(client, r);
	}
	return;
}
示例#3
0
文件: Compiler.cpp 项目: Pawel91/Thot
Bool CCompiler::CopySourceCode( const CString& sourceCode )
{
    if( sourceCode.GetLenght() == 0 )
    {
        CL_ERROR("source code is empty");
        return false;
    }

    FileSystem::FileHandle targetFile = FileSystem::CreateFile( EFileType::E_FILE_TYPE_MEMORY );
    
    CString targetFilePath = GetSolutionCppFile();
    if( !CPath::FileExists(targetFilePath) )
    {
        CL_ERROR( "target file:[%s] does not exists", targetFilePath.GetBuffer() );
        return false;
    }

    if( !targetFile->Open( targetFilePath, EAccesMode::E_ACCES_MODE_WRITE ) )
    {
        CL_ERROR( "failed to open target file:[%s]", targetFilePath.GetBuffer() );
        return false;
    }

    if( !targetFile->Write( sourceCode.GetBuffer(), sourceCode.GetLenght(), 1 ) )
    {
        CL_ERROR("failed to write to target file:[%s]", targetFilePath.GetBuffer() );
        return false;
    }

    return true;
}
示例#4
0
void CMakeHelpTab::LoadData(bool force)
{
    // Thread is busy
    if(GetThread() && GetThread()->IsRunning()) {
        return;
    }

    // Invalid cmake executable
    wxASSERT(m_plugin->GetCMake());
    if(!m_plugin->GetCMake()->IsOk()) {
        return;
    }

    m_force = force;

    // Create a new joinable thread
    if(CreateThread(wxTHREAD_JOINABLE) != wxTHREAD_NO_ERROR) {
        CL_ERROR("Could not create the worker thread!");
        return;
    }

    // For sure :)
    wxASSERT(GetThread());

    // Run the thread
    if(GetThread()->Run() != wxTHREAD_NO_ERROR) {
        CL_ERROR("Could not run the worker thread!");
        return;
    }
}
AverageVelocityCalculator::AverageVelocityCalculator(   const Logger*       logger,
                                                        Profiler*           profiler,
                                                        const Context*      context,
                                                        size_t              threadCount,
                                                        size_t              workGroupSize,
                                                        cl_uint             bufferSideLength,
                                                        GLsizeiptr          bufferByteSize)
:   SharedBufferCalculator( logger,
                            profiler,
                            context,
                            threadCount,
                            workGroupSize,
                            0,
                            bufferSideLength,
                            bufferByteSize,
                            "src/kernels/averageVelocity.cl",
                            GL_RGBA32F)
{

    // Create kernels

    cl_int status;

    kernelAverageVelocity = clCreateKernel(program->getProgram(), "averageVelocity", &status);
    CL_ERROR(status);

    // Set kernel arguments

    CL_ERROR( clSetKernelArg(kernelAverageVelocity, 0, sizeof(bufferSideLength), &bufferSideLength) );

    kernelAverageVelocityProfilingId = profiler->registerElement(PROFILING_ELEMENT_NAME);
}
示例#6
0
WorkItemCalculator::WorkItemCalculator( const Logger*   logger,
                                        Profiler*       profiler,
                                        const Context*  context,
                                        size_t          threadCount,
                                        size_t          workGroupSize,
                                        cl_uint         bufferSideLength,
                                        GLsizeiptr      bufferByteSize,
                                        cl_uint         workGroupSideLength)
: SharedBufferCalculator(   logger,
                            profiler,
                            context,
                            threadCount,
                            workGroupSize,
                            1,
                            bufferSideLength,
                            bufferByteSize,
                            "src/kernels/workItems.cl",
                            GL_R32F),
  kernelWorkItems(NULL)
{
    // Create kernels

    cl_int status;

    kernelWorkItems = clCreateKernel(program->getProgram(), "workItems", &status);
    CL_ERROR(status);

    // Set kernel arguments

    CL_ERROR( clSetKernelArg(kernelWorkItems, 0, sizeof(bufferSideLength), &bufferSideLength) );
    CL_ERROR( clSetKernelArg(kernelWorkItems, 1, sizeof(workGroupSideLength), &workGroupSideLength) );
}
示例#7
0
static int mock_dvr_dispatch_packet(abstract_tcp_client_t *client, uv_buf_t *buf, int status)
{
	int r;
	test_mock_dvr_t* dvr = (test_mock_dvr_t*) client;
	if (status == 0) {

		int32_t cmd = decode_int32(buf->base + 4);
		CL_DEBUG("mock dvr recv cmd:0x%x\n",cmd);
		switch (cmd) {
//		PROTOCOL_MAP(GEN_DISPATCH_SWTICH_CASE, GEN_SWITCH_CASE_ARGS, GEN_SWITCH_CASE_3ARGS)
		case 0x00018001: {
			mock_dvr_preview_t *t = (mock_dvr_preview_t*) malloc(sizeof(mock_dvr_preview_t));
			r = mock_dvr_preview_t_init(t);
			r = proto_cmd_t_decode(buf, (abstract_cmd_t*) t);
			if (r != 0) {
				printf("decode packet:%s error.\n", "mock_dvr_preview");
			} else {
				/*callback fun */
				cmd_imp f = (mock_dvr_preview_impl) == ((void*) 0) ? fun_no_impl : (mock_dvr_preview_impl);
				f(client, (abstract_cmd_t*) t);
			}
			proto_cmd_t_destroy((abstract_cmd_t*) t);
		}
			break;
		default:
			CL_ERROR("mock dvr ignore cmd:%x.\n", cmd);
			FREE(buf->base);
		}
	} else {
		CL_ERROR("connect to dvr error:%d,%s\n", status, smts_strerror(status));
		tcp_client_read_stop((abstract_tcp_client_t*) dvr);
//		destroy_test_mock_dvr(dvr, status);
	}
	return r;
}
示例#8
0
文件: Compiler.cpp 项目: Pawel91/Thot
Bool CCompiler::OnCompileFail( )
{
    CL_TRACE("Enter CCompiler::OnCompileFail");

    FileSystem::FileHandle compileLogFile = FileSystem::CreateFile(EFileType::E_FILE_TYPE_MEMORY);
    
    if( !compileLogFile->Open( m_compilerOutputFile, EAccesMode::E_ACCES_MODE_READ ) )
    {
        CL_ERROR( "failed to open file:[%s]", m_compilerOutputFile.GetBuffer() );
        return false;
    }

    u64 fileSize = compileLogFile->GetSize();
    CString fileContent;
    fileContent.Resize(fileSize);

    if( !compileLogFile->Read( fileContent.GetBuffer(), fileSize, 1 ) )
    {
        CL_ERROR( "failed to read file content for:[%s]" ,m_compilerOutputFile.GetBuffer() );
        return false;
    }

#define COMPILER_USE_FULL_DEVENV_OUTPUT

#if !defined(COMPILER_USE_FULL_DEVENV_OUTPUT)
    //replace CompilerDummy.cpp with our file
    CString slnCppFileName = GetSolutionCppFileRaw();
    CString sourceFileName = "CodSursa.cpp";

    CRegex regexReplace( slnCppFileName );
    fileContent = regexReplace.Replace( fileContent, sourceFileName);

    CL_TRACE("fileContent:\n[%s]\n=======================", fileContent.GetBuffer());
    //CL_ERROR("fileContent:\n[%s]\n=======================", fileContent.GetBuffer());

    const CString regexString = sourceFileName + "\\([0-9]+\\):.*error C[0-9]+:[^\n]*";
    CRegex errorRegex( regexString, true );
    CRegex::TCaptures errors;

    if( !errorRegex.Find( fileContent, errors ) )
    {
        CL_ERROR( "failed to find errors in file:[%s]",m_compilerOutputFile.GetBuffer() );
        return false;
    }

    for( u64 i=0; i<errors.GetSize(); i++ )
    {
        const CString& error = errors[i];
        m_compileErrors += error;
    }
#else
    m_compileErrors = fileContent;
#endif //COMPILER_USE_FULL_DEVENV_OUTPUT

    return true;    // The OnCompileFailed step succeeded;
}
示例#9
0
文件: main.c 项目: deglingo/los
/* main:
 */
gint main ( gint argc,
            gchar **argv )
{
  Parser *parser;
  FILE *infile = NULL;;
  gboolean close_infile;
  AST *ast;
  Dumper *dumper;
  gint a;
  gchar *srcdir = ".";
  gchar *incsubdir = "";
  /* CL_DEBUG("hello!"); */
  /* command line */
  for (a = 1; a < argc; a++)
    {
      if (!strcmp(argv[a], "-s"))
        {
          a++;
          ASSERT(a < argc);
          srcdir = argv[a];
        }
      else if (!strcmp(argv[a], "-u"))
        {
          a++;
          ASSERT(a < argc);
          incsubdir = argv[a];
        }
      else
        {
          ASSERT(!infile);
          if (!(infile = fopen(argv[a], "r")))
            CL_ERROR("could not open '%s' : %s", argv[a], strerror(errno));
          close_infile = TRUE;
        }
    }
  if (!infile)
    {
      infile = stdin;
      close_infile = FALSE;
    }
  /* parse */
  parser = parser_new();
  if (!(ast = parser_parse(parser, infile)))
    CL_ERROR("parse error");
  if (close_infile)
    fclose(infile);
  /* dump */
  dumper = dumper_new(srcdir, incsubdir);
  dumper_dump(dumper, ast);
  dumper_write(dumper);
  return 0;
}
示例#10
0
/**
 * inherit from {@link uv_alloc_cb}
 */
static void tcp_client_alloc_cb(uv_handle_t* handle, size_t size, uv_buf_t* buf)
{
//	CL_DEBUG("read freame alloc.\n");
	if (size > 0) {
		abstract_tcp_client_t *client = (abstract_tcp_client_t*) handle->data;
		client_read_tmp_buf_t *packet = &client->recv_tmp_buf;
		if (packet->offset < PACKET_LEN_FIELD_SIZE) {
			buf->base = (char*) &packet->packet_len + packet->offset;
			buf->len = PACKET_LEN_FIELD_SIZE - packet->offset;
		} else if (packet->offset == PACKET_LEN_FIELD_SIZE) {
			// read packet body.
			int32_t packet_len = decode_int32(buf->base);
			if (packet_len <= PACKET_LEN_FIELD_SIZE || packet_len > MAX_PACKET_LEN) {
				// packet invalid, close handle in read_cb.
				CL_ERROR("invalide packet len:%d.\n", packet_len);
				packet->packet_len = PACKET_INVALID;
				buf->base = NULL;
				buf->len = 0;
			} else {
				packet->packet_len = packet_len;
				packet->buf.base = (char*) malloc(packet->packet_len);
				packet->buf.len = packet_len;
				encode_int32(packet->buf.base, 0, packet_len);
				buf->base = packet->buf.base + PACKET_LEN_FIELD_SIZE;
				buf->len = packet_len - PACKET_LEN_FIELD_SIZE;
			}
		} else {
			//continue read body.
			buf->base = packet->buf.base + packet->offset;
			buf->len = packet->packet_len - packet->offset;
		}
	}
}
示例#11
0
const std::vector<cl_uint> AgentMover::getAgentCounts() const
{
    cl_int status;

    cl_uint* buffer = static_cast<cl_uint*> ( clEnqueueMapBuffer(context->queue,
                                                                 agentCounts,
                                                                 CL_TRUE,
                                                                 CL_MAP_READ,
                                                                 0,
                                                                 sizeof(cl_uint) * 8,
                                                                 0,
                                                                 NULL,
                                                                 NULL,
                                                                 &status) );
    CL_ERROR(status);

    std::vector<cl_uint> agentCountsVector(8);

    cl_uint i = 0;

    std::vector<cl_uint>::iterator iterator;

    for (iterator = agentCountsVector.begin(); iterator != agentCountsVector.end(); ++iterator)
    {
        *iterator = buffer[i];

        i++;
    }

    clEnqueueUnmapMemObject(context->queue, agentCounts, buffer, 0, NULL, NULL);

    return agentCountsVector;
}
示例#12
0
/**
 * start preview.
 */
int smts_start_preview(abstract_tcp_client_t* aclient, abstract_cmd_t *preview_cmd)
{

	preview_cmd_t *play_cmd = (preview_cmd_t*) preview_cmd;
	smts_client_t *client = (smts_client_t*) aclient;
	play_cmd_t play;
	int r;
	play.dvr_id = play_cmd->dvr_id;
	play.channel_no = play_cmd->channel_no;
	play.frame_mode = play_cmd->frame_mode;
	CL_DEBUG("dispatch preview play cmd:{%lld,%d,%d}.\n", play.dvr_id, play.channel_no, play.frame_mode);
	r = media_client_start_preview(client, &play);
	if (r != 0) {
		preview_cmd_res_t *preview_res;
		CL_ERROR("start preview error:%d,%s\n", r, smts_strerror(r));
		preview_res = (preview_cmd_res_t*) malloc(sizeof(preview_cmd_res_t));
		preview_cmd_res_t_init(preview_res);
		preview_res->status = r;
		preview_res->Hue = 0;
		preview_res->brightness = 0;
		preview_res->contrast = 0;
		preview_res->saturation = 0;
		proto_cmd_t_encode((abstract_cmd_t*) preview_res);
		r = tcp_client_send_msg((abstract_tcp_client_t*) aclient, (abstract_cmd_t*) preview_res,
				on_smts_client_send_error_preview_res_cb);
		if (r != 0) {
			proto_cmd_t_destroy((abstract_cmd_t*)preview_res);
		}
	}
	return r;
}
示例#13
0
/* _on_unrealize:
 */
static void _on_unrealize ( AltkWidget *widget )
{
  if (!ALTK_WIDGET_NOWINDOW(widget))
    CL_ERROR("[TODO]");
  widget->window = NULL;
  widget->flags &= ~ALTK_WIDGET_FLAG_REALIZED;
}
示例#14
0
void AgentMover::setAgentCounts(const std::vector<cl_uint>& agentCountsVector)
{
    cl_int status;

    cl_uint* buffer = static_cast<cl_uint*> ( clEnqueueMapBuffer(context->queue,
                                                                 agentCounts,
                                                                 CL_TRUE,
                                                                 CL_MAP_WRITE,
                                                                 0,
                                                                 sizeof(cl_uint) * 8,
                                                                 0,
                                                                 NULL,
                                                                 NULL,
                                                                 &status) );
    CL_ERROR(status);

    cl_uint i = 0;

    std::vector<cl_uint>::const_iterator iterator;

    for (iterator = agentCountsVector.begin(); iterator != agentCountsVector.end(); ++iterator)
    {
        buffer[i] = *iterator;

        i++;
    }

    clEnqueueUnmapMemObject(context->queue, agentCounts, buffer, 0, NULL, NULL);
}
示例#15
0
static void dvr_send_frame0(uv_timer_t* handle)
{
	test_mock_dvr_t *dvr = (test_mock_dvr_t*) handle->data;
	int r = 0;
	mock_dvr_frame_t *frame = (mock_dvr_frame_t*) malloc(sizeof(mock_dvr_frame_t));
	mock_dvr_frame_t_init(frame);
	frame->seqno = dvr->seqno;
	if (dvr->seqno % IFRAME_INTERVAL_NUM == 0) {
		/// send i frame.
		frame->frame_type = FRAME_TYPE_INDEX;
		frame->frame.base = dvr->iframe_bin.base;
		frame->frame.len = dvr->iframe_bin.len;
	} else {
		/// send p frame.
		frame->frame_type = FRAME_TYPE_PB;
		frame->frame.base = dvr->frame_bin.base;
		frame->frame.len = dvr->frame_bin.len;
	}
	frame->st = dvr->seqno * dvr->interval;
//	CL_DEBUG("mock dvr send frame:%d\n",frame->seqno);
	assert(0 == proto_cmd_t_encode((abstract_cmd_t* )frame));
	r = tcp_client_send_msg((abstract_tcp_client_t*) dvr, (abstract_cmd_t*) frame, on_mock_dvr_send_frame_cb);
	if (r != 0) {
		CL_ERROR("mock dvr send frame error:%d,%s\n", r, smts_strerror(r));
		proto_cmd_t_destroy((abstract_cmd_t*) frame);
		destroy_test_mock_dvr(dvr, r);
	}
	dvr->seqno++;
}
示例#16
0
wxString ValgrindMemcheckProcessor::GetExecutionCommand(const wxString & originalCommand)
{
    //CL_DEBUG1(PLUGIN_PREFIX("ValgrindMemcheckProcessor::GetExecutionCommand()"));

    m_outputLogFileName = m_settings->GetValgrindSettings().GetOutputFile();
    if (m_settings->GetValgrindSettings().GetOutputInPrivateFolder() && m_outputLogFileName.IsEmpty())
        CL_ERROR(PLUGIN_PREFIX("Valgrind output file is not set properly. Using default - file in private folder"));
    if (m_settings->GetValgrindSettings().GetOutputInPrivateFolder() || m_outputLogFileName.IsEmpty()) {
        if (WorkspaceST::Get()->IsOpen())
            m_outputLogFileName = wxFileName(WorkspaceST::Get()->GetPrivateFolder(),
                                             "valgrind.memcheck.log.xml").GetFullPath();
        else
            m_outputLogFileName = wxFileName(wxStandardPaths::Get().GetTempDir(),
                                             "valgrind.memcheck.log.xml").GetFullPath();
    }

    wxArrayString suppFiles = GetSuppressionFiles();
    wxString suppresions;
    for (wxArrayString::iterator it = suppFiles.begin(); it != suppFiles.end(); ++it)
        suppresions.Append(wxString::Format(" %s='%s'", m_settings->GetValgrindSettings().GetSuppressionFileOption(),
                                            *it));

    return wxString::Format("%s %s %s %s %s %s",
                            m_settings->GetValgrindSettings().GetBinary(),
                            m_settings->GetValgrindSettings().GetMandatoryOptions(),
                            wxString::Format("%s='%s'",
                                    m_settings->GetValgrindSettings().GetOutputFileOption(),
                                    m_outputLogFileName),
                            suppresions,
                            m_settings->GetValgrindSettings().GetOptions(),
                            originalCommand);
}
unsigned int MemCheckOutputView::GetColumnByName(const wxString& name)
{
    for(unsigned int i = 0; i < m_dataViewCtrlErrors->GetColumnCount(); i++)
        if(m_dataViewCtrlErrors->GetColumn(i)->GetTitle().IsSameAs(name, false)) return i;

    CL_ERROR(PLUGIN_PREFIX("Column named '%s' not found.", name));
    return -1;
}
示例#18
0
/* altk_container_remove:
 */
void altk_container_remove ( AltkContainer *cont,
                             AltkWidget *child )
{
  if (!ALTK_CONTAINER_GET_CLASS(cont)->remove)
    CL_ERROR("%s.remove() is not implemented",
             l_object_class_name(L_OBJECT_GET_CLASS(cont)));
  ALTK_CONTAINER_GET_CLASS(cont)->remove(cont, child);
}
void AverageVelocityCalculator::compute(bool isProfiling, cl_mem densityDiscomfortVelocity)
{
    cl_int      status;

    cl_command_queue queue = context->queue;

    status = clEnqueueAcquireGLObjects(queue, 1, &densityDiscomfortVelocity, 0, NULL, NULL);
    CL_ERROR(status);

    CL_ERROR( clSetKernelArg(kernelAverageVelocity, 1, sizeof(cl_mem), &densityDiscomfortVelocity) );

    CL_PROFILE(kernelAverageVelocityProfilingId, isProfiling, queue,
            CL_ERROR( clEnqueueNDRangeKernel(queue, kernelAverageVelocity, 1, NULL, &threadCount, &workGroupSize, 0, NULL, &event) )
    );

    status = clEnqueueReleaseGLObjects(queue, 1, &densityDiscomfortVelocity, 0, NULL, NULL);
    CL_ERROR(status);
}
示例#20
0
文件: clog.c 项目: deglingo/clog
static void _add_option ( char **cmdline,
                          const char *option )
{
  int count;
  for (count = 0; cmdline[count]; count++);
  if (count >= (MAXCMDLINE-1))
    CL_ERROR("MAXCMDLINE reached");
  cmdline[count++] = strdup(option);
  cmdline[count] = NULL;
}
示例#21
0
/* altk_widget_get_shape:
 */
AltkRegion *altk_widget_get_shape ( AltkWidget *widget )
{
  CL_ERROR("[TODO] altk_widget_get_shape() is deprecated");
  return NULL;
  /* AltkRectangle r; */
  /* r.x = r.y = 0; */
  /* r.width = widget->width; */
  /* r.height = widget->height; */
  /* return altk_region_rectangle(&r); */
}
示例#22
0
static void on_smts_client_send_frame_cb(abstract_tcp_client_t *aclient, abstract_cmd_t *packet, int status)
{
	smts_client_t *client = (smts_client_t*) aclient;
	smts_frame_res_t *frame = (smts_frame_res_t*) packet;
	on_smts_client_send_frame(client->session, client, frame);
	if (status != 0) {
		CL_ERROR("send frame error:%d,%s\n", status, smts_strerror(status));
		stop_smts_client(client, status);
	}
}
示例#23
0
void client_on_connection(uv_stream_t* server, int status)
{
	smts_client_t *smts_client = (smts_client_t*) malloc(sizeof(smts_client_t));
	uv_tcp_t* socket;
	int r;
	init_smts_client(smts_client, server->loop);
	socket = &smts_client->socket;
	r = uv_accept(server, (uv_stream_t*) socket);
	if (r != 0) {
		CL_ERROR("accept error:%d,%s\n", r, smts_strerror(r));
		close_abstract_tcp_client((abstract_tcp_client_t*) smts_client, socket_close_cb);
		return;
	}
	CL_DEBUG("new client fd:%d connection.\n", socket->io_watcher.fd);
	r = tcp_client_start_read((abstract_tcp_client_t*) smts_client, dispatch_packet);
	if (r != 0) {
		CL_ERROR("start read error:%d,%s\n", r, smts_strerror(r));
		close_abstract_tcp_client((abstract_tcp_client_t*) smts_client, socket_close_cb);
		return;
	}
}
示例#24
0
/**
 * inheril from {@link uv_connection_cb}
 */
static void on_mock_dvr_connect_cb(uv_stream_t* server, int status)
{
	test_mock_dvr_t *dvr = (test_mock_dvr_t*) malloc(sizeof(test_mock_dvr_t));
	uv_tcp_t* socket;
	int r;
	init_test_mock_dvr(dvr, server->loop);
	socket = &dvr->socket;
	r = uv_accept(server, (uv_stream_t*) socket);
	if (r != 0) {
		CL_ERROR("accept error:%d,%s\n", r, smts_strerror(r));
		close_abstract_tcp_client((abstract_tcp_client_t*) dvr, mock_dvr_close_cb);
		return;
	}
	CL_DEBUG("new client fd:%d connection.\n", socket->io_watcher.fd);
	r = tcp_client_start_read((abstract_tcp_client_t*) dvr, mock_dvr_dispatch_packet);
	if (r != 0) {
		CL_ERROR("start read error:%d,%s\n", r, smts_strerror(r));
		close_abstract_tcp_client((abstract_tcp_client_t*) dvr, mock_dvr_close_cb);
		return;
	}

}
示例#25
0
static void on_mock_dvr_send_frame_cb(abstract_tcp_client_t *aclient, abstract_cmd_t *packet, int status)
{

//	mock_dvr_frame_t *frame = (mock_dvr_frame_t*) packet;
//	CL_DEBUG("free mock dvr frame:%d\n", frame->seqno);
	proto_cmd_t_destroy(packet);
	if (status != 0) {
		test_mock_dvr_t *dvr;
		CL_ERROR("mock dvr send frame error:%d,%s\n", status, smts_strerror(status));
		dvr = (test_mock_dvr_t*) aclient;
		destroy_test_mock_dvr(dvr, status);
	}

}
示例#26
0
void WorkItemCalculator::compute()
{
    cl_int      status;

    //
    // Compute gradient
    //

    cl_command_queue queue = context->queue;

    status = clEnqueueAcquireGLObjects(queue, 1, &sharedTextureBuffers[0], 0, NULL, NULL);
    CL_ERROR(status);


    CL_ERROR( clSetKernelArg(kernelWorkItems, 2, sizeof(cl_mem), &sharedTextureBuffers[0] ) );

    CL_ERROR( clEnqueueNDRangeKernel(queue, kernelWorkItems, 1, NULL, &threadCount, &workGroupSize, 0, NULL, NULL) );

    status = clEnqueueReleaseGLObjects(queue, 1, &sharedTextureBuffers[0], 0, NULL, NULL);
    CL_ERROR(status);

    clReleaseKernel(kernelWorkItems);
    kernelWorkItems = NULL;
}
示例#27
0
TVec4& TVec4::MakeUnit(int n, TVReal k)
{
    if (n == 0)
    { elt[0] = k; elt[1] = vl_zero; elt[2] = vl_zero; elt[3] = vl_zero; }
    else if (n == 1)
    { elt[0] = vl_zero; elt[1] = k; elt[2] = vl_zero; elt[3] = vl_zero; }
    else if (n == 2)
    { elt[0] = vl_zero; elt[1] = vl_zero; elt[2] = k; elt[3] = vl_zero; }
    else if (n == 3)
    { elt[0] = vl_zero; elt[1] = vl_zero; elt[2] = vl_zero; elt[3] = k; }
    else 
        CL_ERROR("(Vec4::MakeUnit) illegal unit vector");

    return SELF;
}
示例#28
0
int tcp_client_connect(abstract_tcp_client_t *client, char *ip, int32_t port, tcp_client_connect_cb connect_cb)
{
	int r = 0;
	char *local_ip;
	client_connect_req_t *req = (client_connect_req_t*) malloc(sizeof(client_connect_req_t));
	struct sockaddr_in addr;
	r = uv_tcp_init(client->loop, &client->socket);
	local_ip = smts_get_one_addrs();
	if (local_ip == NULL) {
		r = NET_ADDR_NOT_FOUND;
		CL_ERROR("get local addr error:%d,%s.\n", r, smts_strerror(r));
		return r;
	}
	r = uv_ip4_addr(local_ip, 0, &addr);
	if (r != 0) {
		CL_ERROR("uv_ip4_addr error\n");
		return r;
	}
	r = uv_tcp_bind(&client->socket, (struct sockaddr *) &addr, 0);
	if (r != 0) {
		CL_ERROR("bind ip:%s error:%d,%s\n", ip, r, smts_strerror(r));
		return r;
	}

	CL_DEBUG("bind local addr:%s .\n", local_ip);
	r = uv_ip4_addr(ip, port, &client->addr);
	if (r != 0) {
		CL_ERROR("uv_ip4_addr error\n");
		return r;
	}
	req->client = client;
	req->req.data = req;
	req->cb = connect_cb;
	r = uv_tcp_connect(&req->req, &client->socket, (const struct sockaddr*) &client->addr, on_tcp_client_connect_cb);
	return r;
}
示例#29
0
文件: writer.c 项目: deglingo/los
/* filecmp:
 */
static gint filecmp ( const gchar *fname1,
                      const gchar *fname2 )
{
  struct stat s1, s2;
  GMappedFile *m1, *m2;
  gint r;
  GError *error = NULL;
  if (stat(fname1, &s1) != 0)
    CL_ERROR("could not stat '%s' : %s", fname1, strerror(errno));
  if (stat(fname2, &s2) != 0)
    CL_ERROR("could not stat '%s' : %s", fname2, strerror(errno));
  if (s1.st_size != s2.st_size)
    return 1;
  if (!(m1 = g_mapped_file_new(fname1, FALSE, &error)))
    CL_ERROR("could not open '%s' : %s", fname1, error->message);
  if (!(m2 = g_mapped_file_new(fname2, FALSE, &error)))
    CL_ERROR("could not open '%s' : %s", fname2, error->message);
  r = memcmp(g_mapped_file_get_contents(m1),
             g_mapped_file_get_contents(m2),
             s1.st_size);
  g_mapped_file_unref(m1);
  g_mapped_file_unref(m2);
  return r;
}
示例#30
0
文件: lmemstream.c 项目: deglingo/los
/* _seek:
 */
static void _seek ( LStream *stream,
                    gint64 offset,
                    LStreamSeekType whence )
{
#define m (L_MEM_STREAM(stream))
  switch (whence)
    {
    case L_STREAM_SEEK_SET:
      ASSERT(offset >= 0 && offset <= m->data_size); /* [fixme] clamp ? */
      m->pos = offset;
      break;
    default:
      CL_ERROR("[TODO] seek(whence=%d)", whence);
    }
#undef m
}