OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
machine_c.c File Reference
#include "hardware.inc"
#include <stdio.h>
#include <sys/resource.h>
#include <windows.h>
#include <tchar.h>

Go to the source code of this file.

Macros

#define _FCALL

Functions

void set_stack_c_ (int *stack)
void set_stack_c__ (int *stack)
void _FCALL SET_STACK_C (int *stack)
void _FCALL RAD2RAD_CREATEPROCESS (char *command_line, int *len, int *ID, int *err)

Macro Definition Documentation

◆ _FCALL

#define _FCALL

Definition at line 27 of file machine_c.c.

Function Documentation

◆ RAD2RAD_CREATEPROCESS()

void _FCALL RAD2RAD_CREATEPROCESS ( char * command_line,
int * len,
int * ID,
int * err )

Definition at line 90 of file machine_c.c.

91{
92 char* line;
93 int i,size;
94 STARTUPINFO si;
95 PROCESS_INFORMATION pi;
96
97 size= * len;
98 line = malloc(sizeof(char)*size+1);
99 for (i=0;i<size;i++) line[i] = command_line[i];
100 line[size] ='\0';
101
102 ZeroMemory(&si,sizeof(si) );
103 si.cb = sizeof(si);
104 ZeroMemory (&pi, sizeof(pi) );
105
106 * err = 0;
107 * ID = 0;
108 if ( ! CreateProcess (NULL,
109 line,
110 NULL,
111 NULL,
112 FALSE,
113 0,
114 NULL,
115 NULL,
116 &si,
117 &pi ) ){
118 printf("ERROR CREATING CHILD PROCESS : %i \n",GetLastError() );
119 *err = 1;
120 } else {
121 * err = 0;
122 * ID = (int) pi.hProcess;
123 }
124
125}
#define FALSE
Definition cblas_test.h:14

◆ SET_STACK_C()

void _FCALL SET_STACK_C ( int * stack)

Definition at line 78 of file machine_c.c.

78 {
79 set_stack_c_(stack);
80
81 }
void set_stack_c_(int *stack)
Definition machine_c.c:40

◆ set_stack_c_()

void set_stack_c_ ( int * stack)

Definition at line 40 of file machine_c.c.

40 {
41
42 const rlim_t kStackSize = -1L; // -1L = Unlimited
43 struct rlimit rl;
44 long int StMB;
45 int result;
46
47 result = getrlimit(RLIMIT_STACK, &rl);
48
49 if (rl.rlim_cur != -1){
50 /* Current Stacksize not unlimited */
51
52 /* Set the Stacksize to the Max possible value (best is unlimited : -1) */
53 if (rl.rlim_max != -1L){
54 rl.rlim_cur = rl.rlim_max;
55 }else{
56 rl.rlim_cur = kStackSize;
57 }
58
59 result = setrlimit(RLIMIT_STACK, &rl);
60
61 }
62 StMB = rl.rlim_cur / (1024*1024);
63 *stack = StMB;
64}

◆ set_stack_c__()

void set_stack_c__ ( int * stack)

Definition at line 73 of file machine_c.c.

73 {
74 set_stack_c_(stack);
75
76 }